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

本文介绍Sql2005中如何使用TryCatch语句进行异常处理,并提供了一个具体的示例过程,展示了在数据库操作中如何有效捕获并处理一般异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值