博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SqlServer事务
阅读量:6616 次
发布时间:2019-06-25

本文共 1341 字,大约阅读时间需要 4 分钟。

Create Procedure  MyProcedure     @out_result INT OUTPUT ,     @out_msg VARCHAR(100) OUTPUT    AS       Begin           Set    NOCOUNT    ON;            Set XACT_ABORT ON; --这句话非常重要           begin try               Begin  Tran   --开始事务                              --sql语句 Commit Tran       --提交事务            end try            begin catch                --在此可以使用xact_state()来判断是否有不可提交的事务,不可提交的事务                --表示在事务内部发生错误了。Xact_state()有三种值:-1.事务不可提交;                 --1.事务可提交;0.表示没有事务,此时commit或者rollback会报错。                 if xact_state()=-1                 begin                       rollback tran;                       SELECT ERROR_NUMBER()  AS  ErrorNumber,                       ERROR_MESSAGE()  AS  ErrorMessage;                         SELECT  @out_msg = ERROR_MESSAGE();                     SET @out_result = -100;                     end            end catch                  End

说明:

1 、使用存储过程执行事物,需要开启XACT_ABORT参数(默认值为Off),将该参数设置为On,表示当执行事务时,如果出错,会将transcation设置为uncommittable状态,那么在语句块批处理结束后将回滚所有操作;如果该参数设置为Off,表示当执行事务时,如果出错,出错的语句将不会执行,其他正确的操作继续执行。

2、当SET NOCOUNT 为 ON 时,不返回计数(计数表示受 Transact-SQL 语句影响的行数,例如在Sql server查询分析器中执行一个delete操作后,下方窗口会提示(3)Rows Affected)。当   SET NOCOUNT 为 OFF 时,返回计数,我们应该在存储过程的头部加上SET NOCOUNT ON 这样的话,在退出存储过程的时候加上 SET NOCOUNT OFF这样的话,以达到优化存储过程的目的。

转载于:https://www.cnblogs.com/renfushuai/p/5026092.html

你可能感兴趣的文章
sqlserver查看死锁的存储过程
查看>>
在VirtualBox中的CentOS 6.3下安装VirtualBox增强包(GuestAd...
查看>>
Java开发中的23种设计模式详解(转)
查看>>
我的友情链接
查看>>
组策略18招
查看>>
关于Android中的数据存储
查看>>
Tomcat配置日志生产功能
查看>>
js的自执行函数
查看>>
移植Qt与Tslib到X210开发板的体会
查看>>
Nginx + webpy 和FastCGI搭建webpy环境
查看>>
new static 跟 new self 区别
查看>>
使用JdbcTemplate过程中使用到多个参数和like模糊
查看>>
解决eclipse中无法删除Tomcat服务器中的项目,报maven is required and cannot be removed from the server错误情况...
查看>>
修改页面JS 360浏览器
查看>>
尚学linux课程---3、linux网络说明
查看>>
Git 跟 GitHub 是什么关系?
查看>>
String.split()方法
查看>>
IE6下jQuery选中select的BUG
查看>>
Tensorflow在win10下的安装(CPU版本)
查看>>
嵌入式平台做深度学习算法,不可不重视的4件事
查看>>