ラブびあ

ビール。ときどきラブ

SQLスクリプトまとめて適用バッチ

windowsクライアントで、SQLスクリプトを複数のORACLEデータベースにまとめて適用したいときに使うバッチファイルです。開発環境が何コもあると、同期をとろうと思って一環境ずつ手で適用しているとだいたい間違えます。そんなときはコレ一発で。送るに入れて使っています。

@echo off
cd /d %~dp0

set db[1]=scott/tiger@db1
set db[2]=scott/tiger@db2
set db[3]=scott/tiger@db3
set count=3

for /l %%i in (1,1,%count%) do (
call echo -----------------------------------------------%%db[%%i]%%>>apply.log
(
@echo off
echo set sqlblanklines on
echo set echo on
for %%a in (%*) do echo @%%a
) | call sqlplus %%db[%%i]%%>>apply.log
)