[SQL SERVER] スクリプトの一括実行 [T-SQL] | /dev/null

/dev/null

要するに掃き溜め

データベースを使ってると複数のスクリプトを一括で実行したいことがあります。
Oracle(sqlplus) で言うところの

>@hoge.sql


が SQL Server だとなぜかそれをやろうという人がいない。

SQL Sever だと Management Studio での開発がほとんどだと思いますが、
ファイルをD&Dするとファイルの数だけタブが開きます。
タブを切り替え→実行→タブ切り替え→実行
なんて

(ノ`Д´)ノ彡┻━┻

ということで調べてみた。やっぱできました。

用意するもの

  1. parent.sql

  2. child1.sql

  3. child2.sql


parent.sql の中身

SET NOCOUNT ON

GO

:r child1.sql

:r
child2.sql



sqlcmdで接続してファイルを指定して実行。

>sqlcmd -S [接続先] -U [ログインユーザ] -P [パスワード] -i [parent.sql]



Σd