使用XACT_ABORT做简单的事务回滚
当 SET XACT_ABORT 为 ON 时,如果 Transact-SQL 语句产生运行时错误,整个事务将终止并回滚。为 OFF 时,只回滚产生错误的 Transact-SQL 语句,而事务将继续进行处理。编译错误(如语法错误)不受 SET XACT_ABORT 的影响。
看一个简单的例子:
SET XACT_ABORT on
BEGIN TRAN
INSERT INTO score VALUES (101,90)
INSERT INTO score VALUES (102,78)
INSERT INTO score VALUES (107,76) /**//* 假设这行出错*/
INSERT INTO score VALUES (103,81)
INSERT INTO score VALUES (104,65)
COMMIT TRAN
go
BEGIN TRAN
INSERT INTO score VALUES (101,90)
INSERT INTO score VALUES (102,78)
INSERT INTO score VALUES (107,76) /**//* 假设这行出错*/
INSERT INTO score VALUES (103,81)
INSERT INTO score VALUES (104,65)
COMMIT TRAN
go
结果:事务终止并全部回滚,结果为空。
上一篇:mssql如何避免插入重复数据
名字:
全部评论:
loading...
申明:本站部分文章来自网络,由于各种原因对文章的来源无从考究,如果您是“
使用XACT_ABORT做简单的事务回滚
”的原作者,若侵犯您的版权,请与我联系!联系方法:email:ahuinan@21cn.com QQ:106494262
文章档案
- 作者:佚名
- 来源:转载
- 日期:2011-3-12 20:56:00
- 点击:loading...
网友投票(您觉得这篇文章怎样?)
请稍侯......
请稍侯......