如何在SQL Server抛出中创建连锁消息?

Sam*_*tar 5 sql-server sql-server-2012

我有这个代码:

IF (@CurrentResult != 'N' AND @CurrentResult != 'F')
    THROW 50002, 'Question should be unmarked or incorrect', 1
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释我如何在我抛出的错误消息中给出@CurrentResult吗?

我想要的是消息显示如下:

Question result is 'X'. It should be unmarked or incorrect?
Run Code Online (Sandbox Code Playgroud)

其中X是@CurrentResult的值.

ror*_*.ap 9

您不能在THROW语句中连接字符串.

您需要做的是创建一个变量并将整个错误消息分配给它:

DECLARE @Messssage NVARCHAR(100)
SET @Message = N'Question result is ''' + @CurentResult + '''. It should be unmarked or incorrect?'

IF (@CurrentResult != 'N' AND @CurrentResult != 'F')
    THROW 50002,@Message,1
Run Code Online (Sandbox Code Playgroud)