Как запустить несколько скриптов .sql из одного запроса? - PullRequest
1 голос
/ 13 сентября 2010

В SQL Server Management Studio я хочу выполнить несколько сценариев SQL (сохраненных запросов) один за другим.Это просто, чтобы облегчить запуск каждого.Я мог бы взять каждый сценарий и объединить их в один массивный сценарий и просто выполнить лот, однако я хочу, чтобы он был отдельным, чтобы можно было легко и просто запускать каждый бит по отдельности.это:

EXEC ('CreateTable1.sql')
EXEC ('CreateTable2.sql')
EXEC ('CreateSP1.sql')
EXEC ('CreateSP2.sql')
EXEC ('SetupTestData.sql')

И таким образом я могу управлять каждой строкой по отдельности и держать все отдельно.

1 Ответ

4 голосов
/ 13 сентября 2010

Если хотите, вы можете запустить из командной строки, используя SQLCMD -i, и поместить команды в пакетный скрипт. затем вы можете вызвать это из студии управления SQL, используя exec xp_cmdshell. На самом деле вы можете быть храбрыми и запускать команду FOR в xp_cmdshell и выполнять все в одной строке. Или, может быть, просто запустите xp_cmdshell для них один за другим

Или вы можете воспользоваться подходом redgate подхода и прочитать файлы в переменные и затем вызвать exec для них. Этот последний подход является серьезным излишним, если все, что вы хотите сделать, это выполнить несколько скриптов, на мой взгляд.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...