如何 运行 SSMS 中的所有脚本

How to run all scripts in SSMS

是否可以 运行 SSMS 中所有打开的脚本。会有什么捷径吗?就像F5 运行s 只激活一个脚本。我想要它的原因是所有脚本的临时更改 CTRL+H。我想 运行 所有脚本而不保存更改。这就是为什么我不想 运行 将所有脚本都放在一个目录中的原因。

更新。 不,手动不会更快。我需要它的原因就在这里: 我必须在 6 个脚本上 运行 它不仅一次,而且任何时候我对 SQL 代码或 Excel 文件进行更改。手动令人沮丧。

您可以这样做: Ctrl + (E F6 E F6 E ...)

我同意你的改进动力。在这种情况下,创建为您执行所有 6 个脚本的存储过程 并获取 参数 (您当前通过 Ctrl+H 替换来提供)。

然后(另一项改进)您可以更新 VBA 代码 以连接到 SQL 数据库并 调用该存储过程为你。这样,您甚至不需要打开 SSMS。无缝且有效。

另请参阅 CREATE PROCEDURE, EXECUTE 和其中的代码示例。

vast amount of resources on calling stored procedure from Excel.

您可以使用 SQLCMD 模式执行此操作。

  1. 创建一个新查询。确保查询 --> SQLCMD 模式已启用。
  2. 在新查询中,输入 :r,然后输入脚本路径。所以:

:r C:\Path\To\Script.sql
:r C:\Path\To\Script.sql
:r C:\Path\To\Script.sql
:r C:\Path\To\Script.sql
:r C:\Path\To\Script.sql
:r C:\Path\To\Script.sql

  1. 运行 你的脚本。每个文件应该按顺序执行。

您无法从 SQL 脚本中启用 SQLCMD 模式,但您可以 get it to yell at you or stop executing if it's not enabled。您还可以在工具 --> 选项 --> 查询执行中将 SSMS 设置为始终以 SQLCMD 模式启动。

我发现的最快方法是使用 SSMS 的“文件”>“打开文件夹...”(Ctrl+Shift+Alt+O) 打开包含您的 .sql 文件的文件夹,这会将它们显示在SSMS 中的解决方案资源管理器。双击每个文件打开并使用 Ctrl + E 执行。继续单击列表直到完成。