【问题标题】:How to use Function inside a raiserror如何在 raiseerror 中使用 Function
【发布时间】:2020-07-24 05:35:59
【问题描述】:

这是我尝试过的,但似乎是错误的。

CREATE PROCEDURE test_proc(@User VARCHAR = NULL)
AS
BEGIN

RAISERROR (Select F_GetAmandaMessage('SAMPLE_TEST_KEY',NULL,@User), 16, 1);

END;

你能指导我吗

我是否应该先将函数的结果存储在一个变量中,然后在 raiserror 部分使用该变量?

【问题讨论】:

    标签: sql-server function sql-server-2012 raiserror


    【解决方案1】:

    您必须在RAISERROR中使用消息ID、字符串文字或变量

    CREATE PROCEDURE test_proc(@User VARCHAR = NULL)
    AS
    BEGIN
    DECLARE @Message varchar(128) = (
       SELECT F_GetAmandaMessage('SAMPLE_TEST_KEY', NULL, @User)
    );
    
    RAISERROR(@Message, 16, 1);
    
    END;
    

    【讨论】:

    • 感谢@Jason 的回复。给出的解决方案有效。
    猜你喜欢
    • 1970-01-01
    • 2013-02-25
    • 1970-01-01
    • 1970-01-01
    • 2015-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-13
    相关资源
    最近更新 更多