ROLLBACK TRANSACTION (TSQL Statement)
Discards all the changes made by the current explicit transaction.
Syntax
ROLLBACK { TRAN | TRANSACTION }
Remarks
If @@TRANCOUNT
is 0, there is no active transaction. An error is raised.
Else, ROLLBACK TRANSACTION
will cancel all the changes recorded by the current transaction since the outermost BEGIN TRANSACTION
statement, and @@TRANCOUNT
counter will be set to 0.
Note that ROLLBACK TRANSACTION
doesn’t terminate the batch and the program continues executing normally.
If you want the program to terminate, you must put a RETURN
after the ROLLBACK TRANSACTION
statement.
Most of the times, you don’t need to use
ROLLBACK TRANSACTION
.
It is easier to raise an error withTHROW
. The batch will abort immediately and an automatic rollback will be performed, discarding all the changes.
More Information
See BEGIN TRANSACTION
for more information.