使用 try_catch 的查询如何使用 if else 语句执行,如下所示
Posted
技术标签:
【中文标题】使用 try_catch 的查询如何使用 if else 语句执行,如下所示【英文标题】:how query with try_catch executes with if else statements as show below 【发布时间】:2017-09-02 05:02:04 【问题描述】:begin try
DECLARE @Message VARCHAR(200)
DECLARE @MaxUserCode INT
BEGIN TRANSACTION ADM_UPD_SalesUserDetails
IF 1=0
BEGIN
SET @Message = 'fail'
RAISERROR(@Message,16,1)
END
insert into test values(1,'pass')
commit TRANSACTION ADM_UPD_SalesUserDetails
end try
begin catch
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION ADM_UPD_SalesUserDetails
if @Message='fail'
select 'insert'
else
select 'ok'
end catch
【问题讨论】:
【参考方案1】:在上述查询中,IF 条件返回 false (1=0),并将值插入到 TEST 表中。 catch 块中的脚本不会被执行。
注意:只有在 TRY 块中的语句发生错误时才会执行 CATCH 语句。
【讨论】:
感谢您的解释以上是关于使用 try_catch 的查询如何使用 if else 语句执行,如下所示的主要内容,如果未能解决你的问题,请参考以下文章