“ THROW”附近的语法不正确

隐喻
IF @SQL IS NOT NULL
BEGIN
    BEGIN TRY 
        EXEC sp_executesql @SQL
        PRINT 'SUCCESS: ' + @SQL
    END TRY 
    BEGIN CATCH
        SET @ErrorMessage = 
                    N'Error dropping constraint' + @CRLF
                    + 'Table ' + @TableName + @CRLF
                    + 'Script: ' + @SQL + @CRLF
                    + 'Error message: ' + ERROR_MESSAGE() + @CRLF
        THROW  50100, @ErrorMessage, 1;
    END CATCH
END

CATCH执行时,我得到以下错误:

消息102,级别15,状态1,第257行
'THROW'附近的语法错误。

THROWPRINT @ErrorMessage作品代替

@ErrorMessage用文字字符串替换变量即可。

但是,根据文档,THROW应该能够采用变量。不知道该怎么做。

山姆·阿克斯

MSDN

THROW语句之前的语句必须后面跟分号(;)语句终止符。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章