按顺序运行特定查询集的最佳方法是什么?

时间:2018-02-28 21:26:14

标签: sql-server tsql stored-procedures sql-server-2012

我有50个左右的查询,所有查询都需要按特定顺序运行。我只想设置一个程序,按照我需要的顺序运行它们。有没有办法调用我保存的.sql文件,因为我不想每个月更改一个大块的代码?我希望根据需要对每个特定查询进行更改,这样就不需要修改过程。

1 个答案:

答案 0 :(得分:0)

您可以编写 SQLCMD 脚本来执行存储在文件系统上的.sql文件,而不是使用存储过程:

:setvar path "c:\path_to_your_sql_files"
:on error exit

USE [YOUR_DB_NAME]
GO

SET XACT_ABORT ON
GO

BEGIN TRANSACTION

    go
    :r $(path)/"SCRIPT001.sql"
    go
    :r $(path)/"SCRIPT002.sql"
    go
    :r $(path)/"SCRIPT003.sql"
    go

COMMIT TRANSACTION

如果您在 SSMS 内运行,请记住在“查询”菜单中启用“ SQLCMD模式”。