やっほー
【Batch】バッチからSQLを実行する方法!Oracle編!

【Batch】バッチからSQLを実行する方法!Oracle編!

きも男
WindowsバッチからSQL実行ってどうやるん?
仕方ないから教えてあげる

ということで今回は、バッチからSQLを実行する方法をご説明します!

今回はOracle編なので、バッチからSQL*Plusを実行する形になります。

泉アイコン
この記事を書いた人
(泉浩兵)

当ブログ管理者
・エンジニア
・新プログラミング言語『Zero』開発
・保有資格約20個
・投資好き(日本株・仮想通貨)
・オンラインカジノ好き(ルーレット)
・47都道府県制覇目指し中
⇒Twitter(@izumin_0401)
⇒Instagram(@izumin0401)

バッチからSQLを実行する流れ

Oracleの場合、SQLを実行する際は「SQL*Plus」を利用します。

このSQL*Plusは、実行時にSQLファイルを引数として渡すことができます。

つまり、SQLファイルをバッチで作成し、作成したSQLファイルをSQL*Plusに渡してあげればよいわけです。

以下が処理の流れです。

  1. バッチでSQLファイルを作成する
  2. 作成したSQLファイルをSQL*Plusに渡す
  3. SQL*Plusを実行する
  4. ログを出したい場合は適宜対応

SQLを実行するバッチのソースコード

以下がソースコードになります。

解説

38~40行目でSQLファイルの中身を作成します。

「>>」により、追記モードでファイルに文字列を出力しています。

 40行目の「exit」は記載しないとSQL*Plusが終了しないので忘れないように!

 

45行目でSQL*Plusを実行します。

 

50行目でSQLファイルを削除します。

SQLファイルはSQL*Plusで使用するために一時的に作成しただけなので、処理終了後は削除します。

まとめ

バッチからSQLを実行する方法は、分かってしまえば比較的簡単です

特に、バッチでファイルを作成するなど様々な処理が行えるので、バッチをうまく活用することで自由自在となります。

是非参考にしてみてください!

きも男
あばよ
【Batch】バッチからSQLを実行する方法!Oracle編!
フォローしてもらえると泣いて喜びます