SQL2005存储过程中使用try catch捕获异常

 Sql2005中可以使用Try Catch 语句来捕获异常了,不过这个只能捕获一般的异常像连接错误的异常是不能捕获的 具体用法如下:

set  ANSI_NULLS  ON
set  QUOTED_IDENTIFIER  ON
go

--  =============================================
--
 Author:  <Hongyu Niu>
--
 Create date: <2007-7-21>
--
 Description: 插入一条重大危险源档案信息
--
 Return Value: 
--
 =============================================

ALTER   PROCEDURE   [ dbo ] . [ P_DangerSource_File_Add ]
 
@SourceName   varchar ( 50 ),   -- 名称
  @TypeID   int ,      -- 类型
  @DangerLevel   varchar ( 30 ),   -- 危险级别
  @IsControl   bit ,      -- 是否监控
  @SourceLocation   varchar ( 200 ),  -- 危险源地点
  @SourceNum   int ,      -- 危险源数量
  @Descrip   varchar ( 200 ),    -- 对危险源描述
  @Accident   varchar ( 150 ),    -- 可能发生事故
  @Summarize   varchar ( 200 ),   -- 概述
  @Supervisor   varchar ( 30 ),   -- 负责人
  @Telephone   varchar ( 50 ),    -- 联系电话
  @UserID   varchar ( 50 ),    -- 登记人ID
  @InDate   datetime ,     -- 登记日期
  @IsChanged   bit ,      -- 是否变更
  @DeptID   varchar ( 20 )     -- 部门ID
AS

Begin  Try

INSERT   INTO  T_DangerSource_File (
 
[ SourceName ] ,
 
[ TypeID ] ,
 
[ DangerLevel ] ,
 
[ IsControl ] ,
 
[ SourceLocation ] ,
 
[ SourceNum ] ,
 
[ Descrip ] ,
 
[ Accident ] ,
 
[ Summarize ] ,
 
[ Supervisor ] ,
 
[ Telephone ] ,
 
[ UserID ] ,
 
[ InDate ] ,
 
[ IsChanged ] ,
 
[ DeptID ]
VALUES  (
 
@SourceName ,
 
@TypeID ,
 
@DangerLevel ,
 
@IsControl ,
 
@SourceLocation ,
 
@SourceNum ,
 
@Descrip ,
 
@Accident ,
 
@Summarize ,
 
@Supervisor ,
 
@Telephone ,
 
@UserID ,
 
@InDate ,
 
@IsChanged ,
 
@DeptID
)

return   SCOPE_IDENTITY ()

End  Try

Begin  Catch
return   - 1
End  Catch

 

转载于:https://www.cnblogs.com/hongyuniu/archive/2007/08/04/842742.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值