Неверный синтаксис рядом с 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.
ЗаменаTHROW
сPRINT @ErrorMessage
работает.
Замена@ErrorMessage
работает переменная с литеральной строкой.
Однако, согласно документам, THROW должен принимать переменные. Не уверен, что с этим делать.