Eine Transaktion kapselt eine Menge X an Datenmanipulationen auf einem Datenbankserver. Sollte wärend einer Transaktion eine Fehler auftreten, stellt die Transaktion sicher das der vorherige Zustand wiederhergestellt wird.
Ein Beispiel. Du willst in 3 Tabellen Werte verändern.
begin Transaction Declare @Tbl_1_Id int Declare @Tbl_2_Id int
Insert Into Table1 (Spalten, Spalten, Spalten) VALUES (Werte, Werte, Werte) set @Tbl_1_Id = SCOPE_IDENTITY()
Insert Into Table2 (Spalten, Spalten, Spalten) VALUES (Werte, Werte, Werte) set @Tbl_2_Id = SCOPE_IDENTITY()
update ... delete ...
--Prüfen ob ein Fehler aufgetreten ist if @@ERROR <> 0 rollback transaction --alle Manipulationen (Inserts, Delets, Updates) rückgängig machen commit transaction --alle Mainpulationen übernehmen