Запустите все файлы SQL в каталоге - PullRequest
107 голосов
/ 06 апреля 2010

У меня есть несколько файлов .sql, которые мне нужно запустить, чтобы применить изменения, сделанные другими разработчиками, в базе данных SQL Server 2005. Файлы именуются по следующей схеме:

0001 - abc.sql
0002 - abcef.sql
0003 - abc.sql
...

Есть ли способ запустить все из них за один раз?

Ответы [ 11 ]

0 голосов
/ 27 марта 2014

Вы можете создать один скрипт, который вызывает все остальные.

Поместите в командный файл следующее:

@echo off
echo.>"%~dp0all.sql"
for %%i in ("%~dp0"*.sql) do echo @"%%~fi" >> "%~dp0all.sql"

Когда вы запустите этот пакетный файл, он создаст новый скрипт с именем all.sql в том же каталоге, где расположен пакетный файл. Он будет искать все файлы с расширением .sql в том же каталоге, где находится пакетный файл.

Затем вы можете запустить все сценарии с помощью sqlplus user/pwd @all.sql (или расширить пакетный файл для вызова sqlplus после создания сценария all.sql)

...