SQLServer > 指定フォルダのSQLをまとめて実行(バッチファイル)

2019-08-21 11:19:30 (Wed);

指定フォルダのSQLをまとめて実行(バッチファイル)


sql_folderにある *.sql のファイルを順に実行。
ストアドやDDLなどまとめて実行する時に便利。
順序性が必要な場合はファイル名を工夫したり、フォルダを分けて利用。

@echo off
cd /d %~dp0

SET USERID=(DBユーザ)
SET PASSWD=(DBユーザパスワード)
SET HOSTNAME=(サーバー名 or IPアドレス)
SET DATABASE=(データベース名)

setlocal enabledelayedexpansion

echo *---------------------------------------*
echo DBユーザ       :%USERID%
echo DBユーザパスワード  :%PASSWD%
echo サーバー名      :%HOSTNAME%
echo データベース名    :%DATABASE%
echo *---------------------------------------*

echo.
set /P USR_INPUT_STR="処理を行います。よろしいですか?(Y/N) "

if /i %USR_INPUT_STR% neq y goto cancel


FOR /F "usebackq delims==" %%i IN (`DIR /B sql_folder\*.sql`) DO (
echo %%i
sqlcmd -S %HOSTNAME% -d %DATABASE%  -U %USERID% -P %PASSWD% -i "./NEW\%%i"         >> Logfile.txt
)

pause

:cancel
echo.
echo.
echo 処理を中止しました。
goto :end

pause
最終更新:2019年08月21日 11:19