SQL Server不显示来自throw命令的消息

时间:2016-12-22 16:59:29

标签: sql-server throw

我试图根据使用throw命令生成的错误在SQL Server存储过程中返回自定义消息。似乎生成了ERROR条件,因为它正被传递回调用代码。但是,未显示自定义消息。

以下是代码片段(@msg和@rowcount在过程的前面声明):

set @msg = cast(@rowcount as varchar(5)) + ' records updated';

throw 53000,@msg,1;

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

确保@msg被声明为nvarchar,如果@rowcount为null,则使用 isnull 允许替代0。

Declare @msg nvarchar(50)
set @msg = cast(isnull(@rowcount,0) as nvarchar(5)) + N' records updated';
throw 53000, @msg,1;