SqlServer2005をバッチファイルから実行のスクリプトついて

Gorina
2014-01-23 14:23 2196 2
Windows2003ServerにてSqlServer2005をバッチファイルから実行する時について質問させてください。

下記の「sql.bat」にて「script.sql」を実行した場合、「log.txt」に出力される内容は'222'をアップデートした結果「(x行処理されました)」のみが出力されますが、'000'や'111'を更新した結果も出力させたい場合、「script.sql」を3分割し、「sql.bat」で3ファイル実行するしかないのでしょうか。

「sql.bat」
sqlcmd -S SERVERNAME -d SCHEMANAME -i c:\script.sql -o c:\log.txt

「script.sql」
update tablename set data1 = 'aaa' where data1 = '000'

update tablename set data1 = 'bbb' where data1 = '111'

update tablename set data1 = 'ccc' where data1 = '222'

コメント

2014年 01月 24日 (20:17)
こんにちは。
イノ(inno)です。

下記のように「script.sql」にあるupdate文ごとに「GO」を付けて実行すればできます。

「script.sql」
update tablename set data1 = 'aaa' where data1 = '000'
GO
update tablename set data1 = 'bbb' where data1 = '111'
GO
update tablename set data1 = 'ccc' where data1 = '222'
GO
Gorina 2014年 01月 30日 (13:03)
回答ありがとうございます。
やりたいことが実現できました。