【问题标题】:SQL Server not displaying message from throw commandSQL Server 不显示来自 throw 命令的消息
【发布时间】:2017-05-08 09:07:42
【问题描述】:

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

这是代码的 sn-p(@msg 和 @rowcount 在过程的前面声明):

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

throw 53000,@msg,1;

有什么想法吗?

【问题讨论】:

  • @rowcount 已声明,但它是否初始化有一些值?
  • 你能说明@rowcount是如何被填充的吗?
  • 就是这样。我忘了初始化变量。呵呵。

标签: sql-server throw


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 2018-12-03
    • 2013-04-25
    相关资源
    最近更新 更多