Frank (no reg): Wie mit INSERT in mehrere Tabellen gleichzeitig umgehen?

Beitrag lesen

Hallo,

Da ich leider noch zu wenig über die internen Abläufe der DB-Interaktion mit Java weiß ...

Na dann kümmer dich doch mal um dieses Problem!

Eine simple Googlesuche hat mich gerade auf conn.setAutoCommit(true|false), conn.Commit() stossen lassen.

<http://java.sun.com/docs/books/tutorial/jdbc/basics/examples/TransactionPairs.java@mal ein Beispiel>

Man muss also nach dem Insert zuerst fragen, ob der Insert überhaupt geklappt hat (also nicht gegen Contraints verstoßen hat) und dann den Schlüssel (z.B. Last_Insert_Id) abholen. Den kann man dann als Foreign Key für die nächste Tabelle verwenden.

Wenn der Befehl gegen Constraints verstossen hätte, dann hätte es dir eine SqlException geworfen. (Sollte es in 95% der Fälle)

Wenn du Sequenzen benutzen kannst, dann kannst du dir diese Tabellen für Mitarbeiternummer und Kundennummer stecken. Aber benutze die Sequenzen innerhalb von Transaktionen, wenn das unterstützt wird.

Gruss, Frank