是否可以在事务中运行脚本? 然后我可以编辑脚本的路径并以安全的方式运行它们。
:setvar ScriptPath "C:\Script1.sql"
BEGIN TRY
BEGIN TRANSACTION
:r $(ScriptPath)
COMMIT TRANSACTION
PRINT 'Successfull'
END TRY
BEGIN CATCH
PRINT 'Error'
ROLLBACK TRANSACTION
END CATCH
但是当我尝试在事务中运行脚本时,我会收到以下错误: ' BEGIN'附近的语法不正确。 ' TRY'附近的语法不正确。 接近' CATCH'。
附近的语法不正确答案 0 :(得分:0)
可能是错误的SQL版本 - 你在哪个版本?
包含脚本内容可能有问题。
(另外,请确保启用SQLCMD模式。)
以下作品(选择1):
:setvar ScriptPath "C:\temp\Script1.sql"
BEGIN TRY
BEGIN TRANSACTION
:r $(ScriptPath)
COMMIT TRANSACTION
PRINT 'Successfull'
END TRY
BEGIN CATCH
PRINT 'Error'
ROLLBACK TRANSACTION
END CATCH
文件C:\ temp \ Script1.sql包含“SELECT 1”