WindowsバッチでsqlplusからSQLを実行する方法


ここでは、Windowsバッチからsqlplusを呼び出し、SQLを実行する方法を紹介します。

Windowsバッチは、テキストファイルの拡張子をbatに変更することで作成できます。

sqlplusを呼び出したい場合は、Windowsバッチの中で「sqlplus ユーザ名/パスワード@接続文字列」と書きます。

sqlplusの後ろに-sとオプションを付けることで、サイレントモードで実行できます。サイレントモードでは、コマンドプロンプトやメッセージなどが表示されなくなります。バッチ処理を実行するときはこのモードで良いと思います。

-sの後ろには、「@SQLファイル名」を指定することで、sqlplusでDBへログインし、指定したSQLファイルの中のSQLを実行します。

Windowsバッチのサンプル

Windowsバッチのサンプルを書いてみました。

「test.bat」というWindowsバッチファイルで、バッチを実行すると、「delete.sql」というSQLファイルを実行します。「delete.sql」には、Table1を全件一括でDELETEするSQLを書いています。

◆test.bat
 「sqlplus -s username/password@db1 @delete.sql」でsqlplusの起動と共に、「delete.sql」ファイルを実行しています。

@echo off
sqlplus -s username/password@db1 @delete.sql

◆delete.sql
 「delete from table1;」でレコードを削除しています。

delete from table1;

まとめ

WindowsバッチでsqlplusからSQLを実行するときは、sqlplusコマンドの実行と共に、@SQLファイル名を指定することで、SQLを実行できます。

主なSQLの書き方や使い方については、↓で詳しく解説していますのでぜひ参考にしてください。
 ・データの検索:【SQL】SELECT文の書き方:サンプル多数あり
 ・データの追加:【SQL】INSERT文の書き方:サンプル多数あり
 ・データの更新:【SQL】UPDATE文の書き方:サンプル多数あり
 ・データの削除:【SQL】DELETE文の書き方:サンプル多数あり