SQL Server数据库存储过程的异常处理

SQL Server数据库存储过程异常处理是非常重要的,明确的异常提示能够帮助我们快速地找到问题的根源,节省很多时间。本文我们就以一个插入数据为例来说明SQL Server中的存储过程怎么捕获异常的,接下来就让我们来一起了解一下这部分内容吧。

创新互联是一家以网站设计建设,小程序定制开发、网站开发设计,网络软件产品开发,企业互联网推广服务为主的民营科技公司。主要业务涵盖:为客户提供网站策划、网站设计、网站开发、域名申请、网站优化排名、友情链接等服务领域。凭借建站老客户口碑做市场,建设网站时,根据市场搜索规律和搜索引擎的排名收录规律编程,全力为建站客户设计制作排名好的网站,深受老客户认可和赞誉。

1、环境

数据库为SQL Server 2008,表的结构为:

No char(10)  primary key

Name varchar(20)

Comment varchar(50)

2、存储过程

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

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

对会出现异常的语句加上 begin try……end try ,然后进行异常捕捉:begin catch……end catch即可。

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

代码如下:

 
 
 
  1. Create proc sp_Insert_Course  
  2. @No char(10),  
  3. @Name varchar(20),  
  4. @Comment varchar(50),  
  5. @rtn int output  
  6. as  
  7. begin try  
  8. insert into Course values(@No,@Name,@Comment)  
  9. set @rtn=1 
  10. end try  
  11. begin catch  
  12. set @rtn=@@ERROR 

--辅助信息

 
 
 
  1. select ERROR_LINE() as Line,  
  2. ERROR_MESSAGE() as message1,  
  3. ERROR_NUMBER() as number,  
  4. ERROR_PROCEDURE() as proc1,  
  5. ERROR_SEVERITY() as severity,  
  6. ERROR_STATE() as state1  
  7. end catch 

3、存储过程执行

相关代码如下:

 
 
 
  1. declare  
  2. @rtn int  
  3. exec sp_Insert_Course '114','语文','',@rtn output  
  4. print @rtn 

执行结果:

正常的情况下,返回值为1,如果已经存在编号为“114”的数据,就会返回 ERROR_CODE:2627,其他的异常情况会返回相应的代码。

4、说明

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

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

关于SQL Server数据库存储过程的异常处理的知识就介绍到这里了,希望本次的介绍能够对您有所帮助。

【编辑推荐】

  1. SQL Server数据库ROW_NUMBER()函数使用详解
  2. 详解xtrabackup对MySQL进行备份和恢复的全过程
  3. SQL Server数据库DATEDIFF的参数介绍及使用示例
  4. SQL Server将视图或表的记录不重复地插入到另一个表
  5. SQL Server中CROSS APPLY和OUTER APPLY的应用详解

网站题目:SQL Server数据库存储过程的异常处理
文章地址:http://www.shufengxianlan.com/qtweb/news38/223788.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联