Es tut nichts. Alle einzelnen SQL-Anweisungen (mit seltenen Ausnahmen wie Masseneinfügungen mit keinem Protokoll oder Tabelle abschneiden) sind automatisch "In einer Transaktion", ob Sie dies explizit sagen oder nicht (selbst wenn sie Millionen von Zeilen einfügen, aktualisieren oder löschen). .
EDIT: basierend auf @ Phillips Kommentar unten ... In den aktuellen Versionen von SQL Server, sogar Masseneinfügungen und Tabelle abschneiden schreiben einige Daten in das Transaktionslog, obwohl nicht so viel wie andere Operationen tun. Die entscheidende Unterscheidung von einer Transaktionsperspektive besteht darin, dass bei diesen anderen Typen von Operationen die Daten in Ihren Datenbanktabellen, die geändert werden, nicht im Protokoll in einem Zustand enthalten sind, in dem ein Rollback durchgeführt werden kann.
All dies bedeutet, dass die Änderungen, die die Anweisung an Daten in der Datenbank vornimmt, im Transaktionslog protokolliert werden, damit sie bei einem fehlgeschlagenen Vorgang rückgängig gemacht werden können.
Die einzige Funktion, die die Befehle "Begin Transaction", "Commit Transaction" und "RollBack Transaction" bieten, ist, dass Sie zwei oder mehr einzelne SQL-Anweisungen in dieselbe Transaktion einfügen können.
EDIT: (um Mark Kommentar zu verstärken ...) JA, könnte dies auf "abergläubische" Programmierung zurückzuführen sein, oder es könnte ein Hinweis auf ein grundlegendes Missverständnis über die Art der Datenbanktransaktionen sein. Eine gemeinnützige Interpretation ist, dass es einfach das Ergebnis einer Überdosierung von Konsistenz ist, die ein weiteres Beispiel für Emersons Euphemismus unangemessen und noch ist, dass:
Eine törichte Konsistenz der Kobold kleiner Geister ist,
von wenig verehrten Staatsmänner und Philosophen und Denker
Sie sollten bestätigen, ja, das ist abergläubische Programmierung. =) –
@Charles, Was ist mit MySQL? – Pacerier
@Pacerier, ich spreche MySQL nicht fließend, aber ich wäre verblüfft, wenn sich ihr Produkt in dieser Hinsicht anders verhält als andere relationale Produkte. Eines der neueren nicht-relationalen Datenbankprodukte, wie noSQL, könnte unter einem anderen Paradigma arbeiten, aber ich würde wetten, dass MySQL das gleiche ist. –