2009-03-27 4 views

Antwort

4

Nach Trigger sind automatisch Teil der atomaren DML-Anweisung einfügen/aktualisieren/löschen für eine Tabelle.

Sie geben einfach ROLLBACK TRAN im Trigger aus, um alle Arbeiten im Trigger und der ursprünglichen I/U/D-Anweisung rückgängig zu machen. Der äußerste tran wird auch zurückgerollt, wenn es einen gibt.

Wichtig

Rollback in Trigger für SQL 2000 und früher bricht die Partie. Kein Code, nachdem die betreffende I/U/D ausgeführt wurde. See Erland great article und another

Für SQL 2005 mit TRY/CATCH, wird die Ausführung zum CATCH-Block gehen und Ihr Stapel (aka gespeicherten Proc etc) wird normal beendet.

Siehe Rollbacks and Commits in Stored Procedures and Triggers. Der Trigger und TRY/CATCH-Interaktion ist here

+0

+1 für die Verknüpfung zu Erland-Artikeln. –

Verwandte Themen