运行特定文件夹中的所有 SQL 文件的脚本

运行特定文件夹中的所有 SQL 文件的脚本

有人能帮我编写一个脚本来运行特定文件夹中的所有 SQL 文件吗?

我需要部署一堆存储过程,并且希望一次性部署所有存储过程,而不必手动运行每个存储过程。我们运行 Microsoft SQL Server 2005。

答案1

Windows 命令行处理器支持为了语句,因此您可以创建一个.cmd类似这样的文件:

for %%f in (*.sql) do osql -U<User> -P<Pass> -S<Server> -d<Database> -i%%f

这将按顺序处理.sq当前文件夹中的所有 l 文件(您也可以使用sql命令正如另一个答案所建议的那样)。

参考:Microsoft Windows XP - 对于

另外,您可以在脚本的开头直接指定数据库:

use DatabaseName
go

go很重要,因为某些语句(如CREATE VIEW或)CREATE PROCEDURE需要位于一批 SQL 命令的开头。

答案2

如果您需要按特定顺序运行它们,那么最好的解决方案就是编写一个bat文件:

run fileA.sql
run fileB.sql
run fileZ.sql
run fileM.sql
...

相关内容