Я хочу сделать это в SQLPlus: определить файл, который содержит сегодняшнюю дату в своем имени, и отделить вывод инструкции SQL для этого файла. Я знаю, как перенести вывод оператора SQL в файл. Просто не знаю, как объявить имя файла как переменную, содержащую сегодняшнюю дату.
Например, выберите все строки с сегодняшней отметкой времени из таблицы ERROR и выведите результаты в файл с именем TODAYS_ERRORS_YYYYMMDD.log
.
Я использую BAT-файл, который вызывает SQL plus следующим образом:
sqlplus -silent user/password@errorDB @c:\temp\error_query.sql
Я могу запустить вышеуказанный bat-файл и успешно вывести строки в файл со статическим именем файла, например 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;