SqlServer中存储过程如何捕获异常

这期内容当中小编将会给大家带来有关SqlServer中存储过程如何捕获异常,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

创新互联建站是一家成都网站建设、成都网站制作,提供网页设计,网站设计,网站制作,建网站,定制开发,网站开发公司,成立于2013年是互联行业建设者,服务者。以提升客户品牌价值为核心业务,全程参与项目的网站策划设计制作,前端开发,后台程序制作以及后期项目运营并提出专业建议和思路。

SqlServer中的存储过程怎么捕获异常

1、环境

数据库为SqlServer2008。表(Course)结构为:Nochar(10)primarykeyNamevarchar(20)Commentvarchar(50)

2、存储过程

就以插入数据为例,其他的可以照着写就行了。

编程语言都有异常的捕获与处理,在SqlServer2008中也是这样子的。

对会出现异常的语句加上begintry……endtry,然后进行异常捕捉:begincatch……endcatch即可。

错误代码详解很容易就能找到。

代码如下:

Createprocsp_Insert_Course@Nochar(10),@Namevarchar(20),@Commentvarchar(50),@rtnintoutputasbegintryinsertintoCoursevalues(@No,@Name,@Comment)set@rtn=1endtrybegincatchset@rtn=@@ERROR--辅助信息--selectERROR_LINE()asLine,--ERROR_MESSAGE()asmessage1,--ERROR_NUMBER()asnumber,--ERROR_PROCEDURE()asproc1,--ERROR_SEVERITY()asseverity,--ERROR_STATE()asstate1endcatch

SqlServer中的存储过程怎么捕获异常

3、存储过程执行

相关代码如下:

declare@rtnintexecsp_Insert_Course'114','语文','',@rtnoutputprint@rtn

执行结果:

正常的情况下,返回值为1,

假如已经存在编号为“114”的数据,就会返回ERROR_CODE:2627,

其他的异常情况会返回相应的代码

4、说明

假如程序有异常,把异常代码返回,然后再进行相关的处理即可。

SQLServer中的异常处理和别的数据库(如Oracle)的有点差异,但是基本思想差不多,在最后捕获都可以得到异常。

上述就是小编为大家分享的SqlServer中存储过程如何捕获异常了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。


分享文章:SqlServer中存储过程如何捕获异常
本文路径:http://pwwzsj.com/article/ipsedp.html