アラサー、がんばる。

アラサー、日々の生活をがんばる。

スポンサーリンク

複数のSQLファイルを一気に流すやり方について考える

複数SQLファイルを流すときはファイルごとsqlcmdコマンド書いてた

SQLファイルをまとめたフォルダを読み込んで、
ファイルごとにsqlcmdを実行するコマンドを吐き出すマクロを組んだりしてましたが、

コマンドプロンプトのtypeでSQLファイルをひとまとめにして、
それを流すだけで良かったんですね。

コマンドプロンプトのtypeでファイルをひとまとめにする


type まとめたsql置いたフォルダパス¥*.sql > マージ.sql

注意点

ただSQLファイルをひとまとめにする場合は要注意。

DBが複数あるサーバに対して扱う場合は、

テーブル、プロシージャ、関数作成などのSQLファイルはUSE句でDBを指定してあげるなど、SQLファイルに明示的にDB を指定しておく必要がある。

あと、ファイルの末尾を要注意。
末尾に改行を入れて、最終行がEOFのみにしておかないと、
まとめたSQLファイルが構文エラー起こす可能性が高い。
(末尾の文字と、次のファイルの先頭行がくっついてしまう。)

テキストデータのとりまとめにtypeは便利

typeコマンドは同じ形式でヘッダーがないcsvまとめるのに便利


type csv置いたフォルダパス¥*.csv > マージ.csv

ちなみにマージ.csvの場所は、
まとめる対象のフォルダと別にしないと、コマンドやり直したときにマージ.csvを読み込んでしまうので、注意。


それと[>]は出力リダイレクト記号。この記号の隣に書いたファイルに、結果を出力します。

※追記形式にすることもできます。

> 上書き、洗い替え
>> 追記


最初、typeの使い方がわからなくて、コマンドプロンプトでtype /?ってやったら、説明が少なくて泣きそうになった。

コマンドプロンプトって説明にムラがある気がする。
気のせいかな。

スポンサーリンク

TOP

プライバシーポリシー