リンク: バッチで実行する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”は年月日)
   *******************************************
   を実行することによって、結果が出力しました。