これを SQLPlus で実行したいと考えています。名前に今日の日付を含むファイルを定義し、SQL ステートメントの出力をそのファイルにスプールします。SQL ステートメントの出力をファイルにスプールする方法を知っています。ファイル名を今日の日付を含む変数として宣言する方法がわかりません。
たとえば、ERROR テーブルから今日のタイムスタンプを持つすべての行を選択し、結果を というファイルに出力しますTODAYS_ERRORS_YYYYMMDD.log
。
次のように SQL plus を呼び出す BAT ファイルを使用しています。
sqlplus -silent user/password@errorDB @c:\temp\error_query.sql
上記のバッチ ファイルを実行し、行をTODAYS_ERRORS.log
. 名前に今日の日付が含まれるようにファイル名を宣言する方法がわかりません。
これは私のerror_query.sql
ファイルが今どのように見えるかです:
set feedback off;
set echo off;
spool c:\temp\TODAYS_ERRORS.log
SELECT created_time AS "Created Time",
error_severity AS "Severity",
error_desc AS "Error Text"
FROM ERROR
WHERE
to_date(to_char(created_time,'YYYYMMDD') = to_date(to_char(sysdate,'YYYYMMDD');
spool off;
exit;