0

これを 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;
4

2 に答える 2

1

動的ファイル名を持つ SPOOL。
http://www.lazydba.com/oracle/0__57310.html

また、DOS コマンドを記述して日付を取得することもできます。
検索時の最初のリンク: DOS + バッチ + 日付 -> http://www.robvanderwoude.com/datetime.php

于 2009-07-21T03:14:05.210 に答える