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'附近的语法错误。
THROW
用PRINT @ErrorMessage
作品代替。
@ErrorMessage
用文字字符串替换变量即可。
但是,根据文档,THROW应该能够采用变量。不知道该怎么做。
从MSDN:
THROW语句之前的语句必须后面跟分号(;)语句终止符。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句