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

一个回滚事务的测试,请问

2012-12-15 
一个回滚事务的测试,请教?存储过程insert A (a) values (@a)insert B (b) values (@b)insert C (c) values

一个回滚事务的测试,请教?
存储过程

insert A (a) values (@a)
insert B (b) values (@b)
insert C (c) values (@c)



当在第三个表C insert参数传递的时候会发生错误。

请问,SQL SERVER默认的机会会让A,B表回滚么?


那么直接在这里写事务好还是在ADO里用事务好。

[最优解释]
begin tran
insert A (a) values (@a)
insert B (b) values (@b)
insert C (c) values (@c)
if @@error<>0
rollback tran
else 
commit tran
[其他解释]
事务当然写道存储过程里 便于维护管理。
默认A,B不会回滚,需要加事务控制
[其他解释]
都在存储过程了,把 SET XACT_ABORT ON 带上。
[其他解释]
事务由SQLServer自己来处理好,所以放到SQLServer里面去。
至于回滚,要看你的目的,还可以设置回滚保存点(不记得是不是这样叫)等等

BEGIN TRAN 
insert A (a) values (@a)
insert B (b) values (@b)
insert C (c) values (@c)
IF @@ERROR <> 0 
    ROLLBACK
ELSE 
    COMMIT

[其他解释]
SET XACT_ABORT ON  这个好像是2008才有的
[其他解释]
引用:
SET XACT_ABORT ON  这个好像是2008才有的


对,就是用这个。。。
[其他解释]
引用:
引用:
SET XACT_ABORT ON  这个好像是2008才有的

对,就是用这个。。。
意思是你懂了
[其他解释]
引用:
引用:引用:
SET XACT_ABORT ON  这个好像是2008才有的

对,就是用这个。。。意思是你懂了

你自己百度啊。server 2008

热点排行