如何在 raiserror 中使用函数

How to use Function inside a raiserror

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

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

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

END;

你能在这里指导我吗

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

您必须在 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;