MSSQL之try Catch的用法通俗讲解

本文介绍SQL中TryCatch语句的使用,用于处理复杂存储过程中可能出现的错误,通过实例演示如何避免频繁的条件判断,简化错误处理流程。

1.try catch 个人理解

try catch是sql用于出错异常处理的语句块,当我们在写sql语句的时候(通常写比较复杂的存储过程时),合理使用try catch 可以将sql代码运行时的错误信息捕获,从而可以让我们

不需要处处判断便可以更加简单地处理我们所遇到的问题。

例如: 我们的过程脚本里面经常要进行除法计算  如这段代码   declare @i int=0  ,@j = 100     select @j/@i

如果有一天我们要写很复杂的计算公式,经常通过变量加减乘除我们得每次都加个判断,而有了try catch ,我们便不用加这些判断了,直接捕获即可

3.try catch使用方法如下,读者朋友可以自己到SQL 2008或2005查询分析器执行(亲测无误)

Create proc up_TestCatch1(@iStatus int output,@StatusText varchar(40) out)  
as   
begin  

select @iStatus=0,@StatusText='执行成功'
    begin try  
        begin tran  
            select 执行情况='无错时此处将执行' 
        commit tran
    end try
    
    begin catch
        rollback tran
    end catch
end

Create proc up_TestCatch2(@iStatus int output,@StatusText varchar(40) out)  
as   
begin  
declare @i int =0
select @iStatus=0,@StatusText='执行成功'
    begin try  
        begin tran  
            select @i=1/0 --此处出错
            select '出错时此处将不会执行跳过' 
        commit tran
    end try
    
    begin catch
        /*出错时才捕获*/
            select 执行情况='出错时此处将执行'
        rollback tran
    end catch
end

declare  @iStatus int ,@StatusText varchar(40) 
exec up_TestCatch1 @iStatus out ,@StatusText out 


exec up_TestCatch2 @iStatus out ,@StatusText out 

 

转载于:https://www.cnblogs.com/venyzhang/p/7182318.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值