mehrere SQL-Anweisungen parallel ausführen

LineMuc

Grünschnabel
Ich habe folgendes Problem.
Ich bekomme mehrere neue Datensätze die in unterschiedliche Tabellen meiner Datenbank schreiben muß. Da zwischen einigen Tabellen FK´s existieren suche ich nach der Möglichkeit meiner Datenbank den start und ende eines anweisungsblockes mitzuteilen. So das ich zwischen start und ende beliebig viele SQL-insert´s schreiben kann. am ende dann soll die Datenbank alle sql-inserts "gleichzeitig" ausführen so das auch alle fremdschlüssel gefunden werden.
ich weiß das ich irgendwo schon mal was dazu gelesen habe. Leider fällt mir dazu kein passendes schlagwort mehr ein das mich zu einem lösungsansatz führt..

danke schon mal

gruß
line
 
die eine Frage ist, ob alle zusammengehörigen Queries der Transaktion auf dem gleichen Datenstand operieren sollen/müssen: das wäre dann eine Frage des Isolation Levels und in den meisten mir bekannten RDBMS könnte man dieses als SERIALIZABLE festlegen.

Hinsichtlich der Schlüsselbeziehung müsste man die Reihenfolge programmatisch so wählen, dass erst die Parent-Tabellen und dann die via FK verknüpften Child-Tabellen gefüllt werden. Alternativ könnte man die Constraints auch deaktivieren (jedenfalls in vielen RDBMS), dann die INSERTs durchführen und dann die Constraints wieder aktivieren (und ggf. Fehler behandeln). Eine Möglichkeit, die DML-Operationen ungeordnet abzusetzen und der DB zu sagen, dass sie doch bitte die passende Reihenfolge wählen solle, gibt's meines Wissens nicht.

Gruß

Martin
 
also heute nacht ist es mir wieder eingefallen das was ich gesucht habe war TRANSACTION und wenn ich mich nicht irre sollte es zwischen start und end transaction egal sein wie die daten ankommen...

sobald ich es getestet habe werde ich es mitteilen...

danke aber für die lange ausführliche antwort

gruß line
 
Zurück