方案一:
1
SET
XACT_ABORT
ON
--
如果产生错误自动回滚
2 GO
3 BEGIN TRAN
4 INSERT INTO A VALUES ( 4 )
5 INSERT INTO B VALUES ( 5 )
6 COMMIT TRAN
2 GO
3 BEGIN TRAN
4 INSERT INTO A VALUES ( 4 )
5 INSERT INTO B VALUES ( 5 )
6 COMMIT TRAN
也可以使用_ConnectionPtr 对象的方法: BeginTrans、CommitTrans、RollbackTrans,使用该系列函数判断并回滚。一旦调用了 BeginTrans 方法, 在调用 CommitTrans 或 RollbackTrans 结束事务之前, 数据库将不再立即提交所作的任何更改。
方案二:
1
BEGIN
TRANSACTION
2 INSERT INTO A values ( 4 ) -- ---该表含有触发器,UPDATE其他表
3 IF @@error <> 0 -- 发生错误
4 BEGIN
5 ROLLBACK TRANSACTION
6 END
7 ELSE
8 BEGIN
9 COMMIT TRANSACTION
10 END
2 INSERT INTO A values ( 4 ) -- ---该表含有触发器,UPDATE其他表
3 IF @@error <> 0 -- 发生错误
4 BEGIN
5 ROLLBACK TRANSACTION
6 END
7 ELSE
8 BEGIN
9 COMMIT TRANSACTION
10 END
转载于:https://www.cnblogs.com/qiangshu/archive/2009/11/26/1611131.html