存储过程事物的处理

一般情况在proc中判断的处理我们都采用

if not exists(select 1 from aa where a= 1)
begin
select '错误'
return
end

而在tran中我们最好用抛异常的方式

begin try
update Table set a = a where b =1 if @@rowcount = 0 and @@ERROR > 0
begin
SET @vcResult = '失败'
RAISERROR(@vcResult,16,1)
end insert into Table(a,b,c)value('a','b','c')
if @@rowcount = 0 and @@ERROR > 0
begin
SET @vcResult = '失败'
RAISERROR(@vcResult,16,1)
end
end try
begin catch
--如果proc中有嵌套的proc,而嵌套的proc中也写有try-catch 则写IF @@tranCount =1
print error_message() --测试打印错误
IF @@tranCount >0 ROLLBACK TRAN ;
SELECT @vcResult AS vcResult
end catch

最新文章

  1. 1Z0-053 争议题目解析686
  2. 数据结构和算法 – 7.散列和 Hashtable 类
  3. C++ 创建和遍历二叉树
  4. [AX]AX2012 Number sequence framework :(三)再谈Number sequence
  5. C8051 PCA实现红外遥控接收
  6. 一张图告诉你为什么 Gmail 是最好的邮箱,以及大量私货
  7. http://blog.csdn.net/dyllove98/article/details/7706218
  8. HDU 3634 City Planning (离散化)
  9. Python爬虫一:爬取上交所上市公司信息
  10. VIM的字符编码设置
  11. “selection does not contain a main type”解决方法
  12. ASCII排序
  13. Http协议处理器——Http11Processor
  14. 编程之美2.18 数组分割 原创解O(nlogn)的时间复杂度求解:
  15. Javascript 进阶 面向对象编程 继承的一个例子
  16. docker镜像常用操作
  17. Bootstrap模态框垂直高度居中问题
  18. sqlserver 电脑重启以后服务突然无法启动 报错
  19. 学习笔记DL008:概率论,随机变量,概率分布,边缘概率,条件概率,期望、方差、协方差
  20. Ubuntu16.04 启动纯文本界面方法

热门文章

  1. JAVA的abstract修饰符 && 接口interface用法 && 抽象类和interface的差别
  2. linux:C语言通过ICMP协议判断局域网内部主机是否存活
  3. Django 同步数据库命令syncdb,makemigrations,migrate
  4. Maven配置插件跳过测试代码的编译和运行
  5. 更新UI
  6. 切换self.window.rootViewController根视图,导致上一视图控制器不能释放销毁的问题
  7. ios微信支付成功后点击左上角返回不走回调的问题
  8. Canvas_2
  9. python3 数据类型
  10. 在vmware workstation10上安装ubuntu14.04,出现以下问题