3

Может кто-нибудь помочь мне написать скрипт для запуска всех файлов SQL в определенной папке?

Мне нужно развернуть несколько хранимых процедур, и я хочу развернуть их все сразу, без необходимости запуска каждой из них вручную. Мы запускаем Microsoft SQL Server 2005.

2 ответа2

4

Процессор командной строки Windows поддерживает оператор for , поэтому вы можете создать файл .cmd примерно так:

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

Это обработает все .sq файлы текущей папки последовательно (вы также можете использовать sqlcmd, как предложено в другом ответе).

Справка: Microsoft Windows XP - Для

Кроме того, вы можете указать базу данных непосредственно в скрипте, используя в начале:

use DatabaseName
go

go очень важно , потому что некоторые заявления , как CREATE VIEW или CREATE PROCEDURE должна быть в начале партии команд SQL.

0

Если вам нужно запустить их в определенном порядке, лучшее решение - написать файл bat :

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .