Wir haben eine Client-App, auf der SQL auf einem SQL Server 2005 ausgeführt wird, z.
BEGIN TRAN;
INSERT INTO myTable (myColumns ...) VALUES (myValues ...);
INSERT INTO myTable (myColumns ...) VALUES (myValues ...);
INSERT INTO myTable (myColumns ...) VALUES (myValues ...);
COMMIT TRAN;
Es wird von einem langen String-Befehl gesendet.
Wenn eine der Einfügungen fehlschlägt oder ein Teil des Befehls fehlschlägt, setzt SQL Server die Transaktion zurück? Wenn es nicht zurückgesetzt wird, muss ich einen zweiten Befehl senden, um es zurückzusetzen?
Ich kann Angaben zur API und Sprache machen, die ich verwende, aber ich denke, SQL Server sollte für jede Sprache gleich reagieren.