【发布时间】:2016-05-02 09:14:48
【问题描述】:
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' 附近的语法不正确。
用PRINT @ErrorMessage 替换THROW 有效。
用文字字符串替换 @ErrorMessage 变量是可行的。
然而,根据文档,THROW 应该能够接受一个变量。不知道该怎么做。
【问题讨论】:
标签: sql-server tsql sql-server-2014