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