Es macht nichts. Alle einzelnen SQL-Anweisungen (mit seltenen Ausnahmen wie Masseneinfügungen ohne Protokoll oder Tabelle abschneiden) werden automatisch "In einer Transaktion" angezeigt, unabhängig davon, ob Sie dies ausdrücklich sagen oder nicht. (Selbst wenn sie Millionen von Zeilen einfügen, aktualisieren oder löschen.) .
BEARBEITEN: basierend auf dem Kommentar von @ Phillip unten ... In aktuellen Versionen von SQL Server schreiben Even Bulk Inserts und Truncate Table einige Daten in das Transaktionsprotokoll, wenn auch nicht so viele wie andere Vorgänge. Der entscheidende Unterschied aus Transaktionssicht besteht darin, dass bei diesen anderen Arten von Vorgängen die Daten in Ihren Datenbanktabellen, die geändert werden, nicht im Protokoll in einem Zustand sind, in dem sie zurückgesetzt werden können.
Dies bedeutet lediglich, dass die Änderungen, die die Anweisung an Daten in der Datenbank vornimmt, im Transaktionsprotokoll protokolliert werden, sodass sie rückgängig gemacht werden können, wenn der Vorgang fehlschlägt.
Die einzige Funktion, die die Befehle "Transaktion starten", "Transaktion festschreiben" und "RollBack-Transaktion" bereitstellen, besteht darin, dass Sie zwei oder mehr einzelne SQL-Anweisungen in dieselbe Transaktion einfügen können.
BEARBEITEN: (um den Markenkommentar zu verstärken ...) JA, dies könnte auf "abergläubische" Programmierung zurückgeführt werden, oder es könnte ein Hinweis auf ein grundlegendes Missverständnis der Art von Datenbanktransaktionen sein. Eine gemeinnützigere Interpretation ist, dass es einfach das Ergebnis einer unangemessenen Überanwendung von Konsistenz ist und ein weiteres Beispiel für Emersons Euphemismus, dass:
Eine dumme Konsequenz ist der Hobgoblin kleiner Geister, der
von kleinen Staatsmännern, Philosophen und Göttern verehrt wird