• ベストアンサー

SPOOLのファイル名

スプールのファイル名にバインド変数の内容を使うことはできるでしょうか? 下記のように使用すると、SPOOLファイルが作成されませんでした。 20050322.TODAYといった具合に SYSDATEに応じてファイル名を可変にしたいのですが。。 どなたかご教示いただければ幸いです。 ============================================== WHENEVER OSERROR EXIT FAILURE ROLLBACK WHENEVER SQLERROR EXIT FAILURE ROLLBACK VARIABLE V_SYSDATE VARCHAR2(8); BEGIN SELECT TO_CHAR(SYSDATE,'YYYYMMDD') INTO :V_SYSDATE FROM DUAL; END; / SPOOL :V_SYSDATE.TODAY SPOOL OFF EXIT;

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

一旦、固定のファイル名に"spool SYSDATEの結果"を出力し、それを読み込む set heading off set feedback off set trimspool on set termout off set pages 0 set line 9999 spool c:\spooltemp.txt SELECT 'spool c:\' || TO_CHAR(SYSDATE,'YYYYMMDD') || '.txt' FROM DUAL; spool off @c:\spooltemp.txt select * from emp; spool off exit

n-nen
質問者

お礼

ご回答ありがとうございました。 この方法でこちらの要件を実現できそうです。

その他の回答 (1)

  • GoF
  • ベストアンサー率37% (34/91)
回答No.2

OTNのCodeTips #Tips759 に、そのものがあります。 短いので引用できるのですが、 何か問題あるかもしれませんので、ご自分で見てください。 (要ユーザ登録)

参考URL:
http://otn.oracle.co.jp/sample_code/code/index.html
n-nen
質問者

お礼

ご回答ありがとうございます。 まさに、求めていた答えで、目から鱗です。 ありがとうございました。

関連するQ&A