本文转自:
https://blog.csdn.net/qyx0714/article/details/70157749;
https://www.cnblogs.com/flysnow-z/archive/2012/01/12/2320884.html
begin Transaction 可以理解成新建一个还原点
commit Transaction 提交这个自begin tran开始的修改
rollback Transaction 表示还原到上个还原点。
BEGIN TRAN
--执行一些东东
if @@error<>0
begin rollback tran
return 0
end
else
begin commit tran
return 1
end
go
一般把DML语句(select ,delete,update,insert语句)放在BEGIN TRAN…COMMIT TRAN 之间作为一个事务处理
也就是那些语句执行过程中如果遇到错误,无论哪句遇到错误,所有语句都会回滚到BEGIN TRAN之前的状态。