首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

当只有begin tran和commit tran时会不会全部回滚?该怎么处理

2012-02-01 
当只有begin tran和commit tran时会不会全部回滚?有如下语句:BEGINTRANselect....insert....update...COMM

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

热点排行