我想运行指定文件夹中的所有脚本。我创建了包含脚本路径的 sql-cursor。
我想执行脚本并记录它们的使用情况,但是如何在其他 sql 脚本中运行 sql 脚本。Visual Studio 中的 sqlproj 中使用了 ':r' 语句,但在我的情况下它不起作用,那么我该如何解决呢?我使用 SQL Server 2016。
FETCH NEXT FROM ScriptsFromFolderCursor INTO @scriptName
WHILE @@FETCH_STATUS = 0
BEGIN
DECLARE @fullScriptPath nvarchar(1024) = @MyPath + @scriptName
-- WHAT SHOULD BE THERE ??
:r @fullScriptPath
-- log usage of script
INSERT INTO DeployedSqlScripts([ScriptName], [Version],[DateUtc])
VALUES (@fullScriptPath, @DbVersion, GetUtcDate())
FETCH NEXT FROM ScriptsFromFolderCursor INTO @scriptName
END
我收到错误:
错误 SQL72001:包含的文件 @fullScriptPath (C:\GIT\myPath\@FULLSCRIPTPATH) 不存在。(54, 8)