gpt4 book ai didi

tsql - Case 语句中的 RAISERROR

转载 作者:行者123 更新时间:2023-12-02 07:39:08 27 4
gpt4 key购买 nike

能否不在 T-SQL 的 case 语句中引发错误?我总是遇到 SQL case 语句的问题:/

    begin try
declare @i int
--set @i = (select COUNT(1) from table_name)

select Item_Num =
CASE (select COUNT(1) from table_name)
when 1 then (select Item_Num from table_name)
when 0 then (raiserror('No records in database', 0, 0))
ELSE (raiserror('Multiple records in database', 0, 0))
END
from table_name

end try
begin catch
declare @errormsg nvarchar(1024),
@severity int,
@errorstate int;

select @errormsg = error_message(),
@severity = error_severity(),
@errorstate = error_state();

raiserror(@errormsg, @severity, @errorstate);
end catch

最佳答案

将 Case/When 视为对单个数据的操作。如果你这样想,很多问题就会迎刃而解。

If/Then 用于控制逻辑流程。

这样的东西应该适合你。

declare @i int 
set @i = (select COUNT(1) from table_name)

If @i = 1
Begin
Print "1 row"
End
Else If @i = 0
Begin
Print "no rows"
End
Else
Begin
Print "too many rows"
End

关于tsql - Case 语句中的 RAISERROR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23659141/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com