博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL存储过程异常处理
阅读量:4982 次
发布时间:2019-06-12

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

1、环境数据库为Sql Server2008。表(Course)结构为:No Char(10) Primary KeyName Varchar(20)Comment Varchar(50)2、存储过程就以插入数据为例,其他的可以照着写就行了。编程语言都有异常的捕获与处理, 在 SqlServer2008 中也是这样子的。对会出现异常的语句加上 begin try……end try ,然后进行异常捕捉:begin catch……end catch即可。错误代码详解 很容易就能找到。代码如下:Create Proc Sp_Insert_Course     @No Char(10),     @Name Varchar(20),     @Comment Varchar(50),     @Rtn Int Output As     Begin Try         Insert Into Course Values(@No,@Name,@Comment)         Set @Rtn=1     End Try     Begin Catch         Set @Rtn=@@ERROR                  --辅助信息  RAISERROR('Houston,we have a problem',16,1)        --Select ERROR_LINE() As Line,       返回导致错误的行号        --    ERROR_MESSAGE() As Message1,   返回错误消息完整文本。该文本可包括任何可替换参数所提供的值,如长度、对象名或时间        --    ERROR_NUMBER() As Number,      返回错误号        --    ERROR_PROCEDURE() As Proc1,    返回出现错误的存储过---程或触发器名称        --    ERROR_SEVERITY() As Severity,  返回严重级别        --    ERROR_STATE() As State1        返回错误状态号    End Catch 3、存储过程执行相关代码如下:Declare     @Rtn Int Exec Sp_Insert_Course '114','语文','',@Rtn Output Print @Rtn 执行结果:正常的情况下,返回值为1,如果已经存在编号为“114”的数据,就会返回 ERROR_CODE:2627,其他的异常情况会返回相应的代码4、说明如果程序有异常,把异常代码返回,然后再进行相关的处理即可。SQL Server中的异常处理和别的数据库(如Oracle)的有点差异,但是基本思想差不多, 在最后捕获都可以得到异常。

 

转载于:https://www.cnblogs.com/slmdr9/p/6410743.html

你可能感兴趣的文章
使用python+selenium对12306车票数据读取
查看>>
服务器Config文件不能查看的问题
查看>>
UIImage与CCSprite互相转换
查看>>
jsp详解
查看>>
大型网站架构图
查看>>
新概念英语(1-133)Sensational news!
查看>>
Magnifier笔记
查看>>
git项目,VSCode显示不同颜色块的含义
查看>>
串口配置
查看>>
centos的安装,网络的调试
查看>>
dfs枚举
查看>>
线程等待问题
查看>>
(四)rsync未授权访问
查看>>
喜欢就好
查看>>
MVC3基础嵌套总结
查看>>
QML 基本可视元素之Rectangle 七
查看>>
Python--set常用操作函数
查看>>
Java基于Tomcat Https keytool 自签证书
查看>>
机房收费调试问题(一)
查看>>
Perl多进程处理Web日志
查看>>