1

假设我有 100 个 sql 文件,我需要依次执行所有文件。有什么方法可以在不手动执行脚本的情况下做到这一点?

4

6 回答 6

3

您可以使用sqlcmd Utility编写一个 bat 文件来执行它们

于 2010-12-30T14:52:01.227 回答
1

编写一个 shell 脚本或类似的脚本来按顺序运行它们。

于 2010-12-30T14:50:51.830 回答
1

我们使用SSW Australia的SQL Deploy工具取得了巨大的成功。

替代文字

它不是免费的 - 但值得每一分钱,并为您节省大量时间,它很快就会收回成本!

(除了作为 SQL Deploy 的快乐用户之外,我与 SSW Australia 没有任何关系)

于 2010-12-30T14:52:33.897 回答
1
  • 将输出通过管道dir /b > foo.txt传输到文件
  • 使用像记事本++这样的体面的文本编辑器在每行的开头添加 sqlcmd 等
于 2010-12-30T14:52:36.433 回答
1

您可以使用 PowerShell 来执行此操作。以下博客文章描述了这样的脚本。作为 foreach 的一部分,管道用于以您希望处理它们的方式对文件进行排序。在此示例中,它按文件名的字母降序排序,但您也可以按其他属性进行排序,例如文件的创建日期。

以下博客文章还描述了如何在与上述链接文章类似的目录中运行所有 .sql 文件,但不使用 PowerShell

于 2010-12-30T14:59:23.567 回答
0

假设您的文件命名如下:

001_my_script.sql
002_another_script.sql
003_foo_script.sql
004_bar_script.sql

您可以在命令行中执行以下操作:

copy *.sql /a my_big_script.sql

然后将生成的文件作为一个脚本运行(通过 sqlcmd 或 Management Studio)。

于 2010-12-30T14:55:40.390 回答