日期:2014-05-18  浏览次数:20494 次

关于sql回滚问题
在页面里有6张表,点击确定后同时把6张表的数据写入数据库,但是为了完整写入,当有一张表里的数据写入出错是系统就提示回滚,不知道如何编写,请教大家

------解决方案--------------------
把语句贴出来,


rollback tran--还原操作
commit tran--执行操作
------解决方案--------------------
SET XACT_ABORT ON--如果产生错误自动回滚

GO

BEGIN TRAN
INSERT INTO t2 VALUES (4)
INSERT INTO t2 VALUES (5) INSERT INTO t2 VALUES (6)
COMMIT TRAN

------解决方案--------------------
begin tran
insert into 表1
if 失败
begin
rollback tran
end

insert into 表2
if 失败
begin
rollback tran
end
......
commit tran
------解决方案--------------------
最后一步if @@error> 0
rollback tran
else
commit tran