リンク: バッチで実行するSQLファイルにパラメタを与える方法.
Oracleでパッチ実行方法:
パラメタが渡せるということを教えて頂き、それをきっかけにいろいろ調査した結果、以下で動作できることを確認しました。
まず、実行するバッチファイル(ORA_SQL.BAT)は、
*******************************************
echo on
C:\Oracle\Ora81\bin\SQLPLUS Userid/Password@接続文字列 @D:\Sql\OraEX.SQL %1 %2
*******************************************
とします。
OraEX.SQLの内容は以下の通りに修正します。
*******************************************
spool D:\TextLog\A_SYOHIN.log
Set echo on
SELECT COUNT(*) FROM A_SYOHIN
WHERE M_DATE BETWEEN &1 AND &2;
spool off; (↑引数部分を”%1″、”%2″では
exit; なく、”&1″、”&2″とする)
*******************************************
コマンドプロンプトにて、
*******************************************
C:\>ORA_SQL yyyymmdd yyyymmdd (←”yyyymmdd”は年月日)
*******************************************
を実行することによって、結果が出力しました。