INSERT SQL welche parallel in mehre tabellen einfüget?



  • Sagen wir mal ich hab 2 tabellen, welche über eine ID 1 zu 1 in beziehung stehen.

    foo: ID, Data1

    bar: ID, Data2

    nun will ich daten mit ID und data1 und data2 mit INSER INTO anfügen, so das die daten korrent in die beiden tabellen verteilt werden?

    geht sowas?



  • Hallo,

    es hängt von dem Interface ab über das du die Anfrage rausschickst.

    Viele Treiber erlauben es, mehrfache Anweisungen durch ';' getrennt abzugeben, welche dann sequenziell abgearbeitet werden. (Das setzt natürlich voraus, dass du die ID vor dem Absenden beider Queries kennst).

    Wird die ID aber erst beim ersten Query Datenbankseitig generiert, so geht diese Möglichkeit natürlich nicht 😉

    Dann solltest mal gucken, dass du dir für solche Dinge eine stored-procedure baust, mit der du dann nach dem ersten insert die ID liest um den nächsten Satz zu schreiben.

    Vorteil gegenüber zwei getrennten Abfragen liegt wohl darin, dass du nur einen Verbindungsaufbau brauchst und die Datenbank dir nur einmal "zuhören" muss 😉

    mfg jghj


Log in to reply