当只有begin tran和commit tran时会不会全部回滚?
有如下语句:
BEGIN TRAN
select ....
insert ....
update ...
COMMIT TRAN
如果其中一条语句发生错误,事务会不会全部都回滚到未开始的时候.
[解决办法]
不一定的。
除非你在事务语句前加上
set xact_abort on
begin tran
insert ...
update ...
delete ...
commit tran
[解决办法]
加上 set xact_abort on 才会整体回滚。
如:
set xact_abort on
begin tran
insert ...
update ...
delete ...
commit tran
[解决办法]
http://www.dbafield.com/?p=5