博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Sql Server 2005及以上的存储过程事务及异常处理
阅读量:6451 次
发布时间:2019-06-23

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

hot3.png

两年没怎么用Sql Server了,出去面试的时候连存储过程都写不顺畅了,太丢人了。

这里对Sql Server 2005及以上的版本在存储过程事务及异常处理方面做个记录,

if (object_id('proc_demo', 'p') is not null)    drop proc proc_demogocreate proc proc_demo(	@id int)asbegin    set nocount on;    begin try		BEGIN tran @tran			delete dt_article where id=@id			delete dt_article_albums where article_id=@id	    commit tran @tran	end try	begin catch		if @@TRANCOUNT > 0			rollback tran @tran		declare @ErrMsg nvarchar(4000), @ErrSeverity int		select @ErrMsg = ERROR_MESSAGE(),			   @ErrSeverity = ERROR_SEVERITY()		raiserror (@ErrMsg, @ErrSeverity, 1) --拋出异常	end catchendgo
    Sql server 2005提供了一些系统函数返回错误信息
    ERROR_NUMBER()----返回错误的数量
    ERROR_SEVERITY() ----返回错误的严重级别
    ERROR_STATE() ----返回错误的状态码
    ERROR_PROCEDURE() ----返回发生错误的存储过程或者触发器的名称
    ERROR_LINE() ----返回错误发生的行数
    ERROR_MESSAGE() ----返回错误的详细信息

转载于:https://my.oschina.net/congqian/blog/135834

你可能感兴趣的文章
dubbo问题总结
查看>>
20165320 第三周学习总结
查看>>
Struts2和Spring MVC的区别
查看>>
angular-bootstrap ui-date组件问题总结
查看>>
理解Javascript参数中的arguments对象
查看>>
p2:千行代码入门python
查看>>
bzoj1106[POI2007]立方体大作战tet*
查看>>
spring boot configuration annotation processor not found in classpath问题解决
查看>>
【转】正则基础之——神奇的转义
查看>>
团队项目测试报告与用户反馈
查看>>
MyBatis(1)——快速入门
查看>>
对软件工程课程的期望
查看>>
CPU高问题排查
查看>>
Mysql中文字符串提取datetime
查看>>
CentOS访问Windows共享文件夹的方法
查看>>
IOS 与ANDROID框架及应用开发模式对比一
查看>>
由中序遍历和后序遍历求前序遍历
查看>>
JQUERY Uploadify 3.1 C#使用案例
查看>>
coursera 北京大学 程序设计与算法 专项课程 完美覆盖
查看>>
firewall 端口转发
查看>>