读书人

当只有begin tran和commit tran时会不

发布时间: 2012-02-01 16:58:19 作者: rapoo

当只有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

读书人网 >SQL Server

热点推荐