http://www.cnblogs.com/sshoub/archive/2011/08/12/2136267.html
编程的异常处理很重要,当然Sql语句中存储过程的异常处理也很重要,明确的异常提示能够快速的找到问题的根源,节省很多时间。
下面,我就以一个插入数据为例来说明Sql Server中的存储过程怎么捕获异常的 。
1、环境
(1)数据库为Sql Server2008。
(2)表(Course)结构为:
No char(10) primary key
Name 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
--辅助信息
--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