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

SET   XACT_ABORT 
指定当   Transact-SQL   语句产生运行时错误时,Microsoft&reg;   SQL   Server™   是否自动回滚当前事务。

语法 
SET   XACT_ABORT   {   ON   |   OFF   }

注释 
当   SET   XACT_ABORT   为   ON   时,如果   Transact-SQL   语句产生运行时错误,整个事务将终止并回滚。为   OFF   时,只回滚产生错误的   Transact-SQL   语句,而事务将继续进行处理。编译错误(如语法错误)不受   SET   XACT_ABORT   的影响。

对于大多数   OLE   DB   提供程序(包括   SQL   Server),隐性或显式事务中的数据修改语句必须将   XACT_ABORT   设置为   ON。唯一不需要该选项的情况是提供程序支持嵌套事务时。有关更多信息,请参见分布式查询和分布式事务。

SET   XACT_ABORT   的设置是在执行或运行时设置,而不是在分析时设置

最新文章

  1. The shortest path---hdu2224 &amp;&amp; Tour---poj2677(旅行商问题)
  2. AVL的删除写法的一个错误
  3. High CPU Usage 原因及分析
  4. windows 7下qtcreator里QWT文件的pro配置
  5. IDEA 编译找不到符号,文件却没有错误。
  6. Spring Boot+AngularJS中因为跨域导致Session丢失
  7. 代码规范[iOS]
  8. nginx https
  9. 【Android界面实现】FragmentPagerAdapter与FragmentStatePagerAdapter使用详解与区别
  10. Java 多线程编程两个简单的样例
  11. 杂文:AlphaGo 与 Alan Turing
  12. linux网络编程:select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET(转)
  13. WdatePicker日历控件用法
  14. 《python源代码剖析》笔记 python虚拟机中的函数机制
  15. Android应用程序基础
  16. TempDB问题定位与解决
  17. GIL(全局解释器锁)
  18. PHP基础介绍
  19. git 修改文件内容
  20. SpringBoot详细研究-05微服务与拾遗

热门文章

  1. ES6学习笔记(1,let和const)
  2. List接口的实现类与ArrayList相似,区别是Vector是重量级的组件,使用使消耗的资源比较多
  3. php -- 四种基础排序:冒泡、选择、插入、快速
  4. ThinkPHP项目笔记之MVC篇
  5. hdu 1253:胜利大逃亡(基础广搜BFS)
  6. ios 从URL中截取所包含的参数,并且以字典的形式返回和参数字典转URL
  7. kotlin 遇到的问题
  8. pushViewController自定义动画http://blog.csdn.net/ralbatr/article/details/22039233
  9. JSP小例子——实现用户登录小例子(不涉及DB操作)
  10. 75、JSON 解析库---FastJson, Gson