У меня есть процедура, которая извлекает данные из представления и сохраняет их на диске c в формате CSV. Я хочу, чтобы имя файла содержало самую последнюю отметку времени из таблицы MY_TIMESTAMPS. Пока это выглядит так:
create or replace procedure write_file is
file_handle UTL_FILE.file_type;
begin
file_handle := utl_file.fopen('CSV_DIR', 'EXPORT_ABC_'|| (select to_char(max(EVENT_TS)) from MY_TIMESTAMPS) ||'.csv', 'w', 32767);
for x in (select * from V_MY_VIEW
loop utl_file.put_line (file_handle, COL1|| ',' ||
COL2|| ',' ||
COL3|| ',' ||
COL4);
end loop;
utl_file.fclose(file_handle);
end write_file;
Часть с (select to_char(max(EVENT_TS)) from MY_TIMESTAMPS)
выдает ошибку. Как я могу установить это свойство Dynami c filename? Может быть, записать это в какую-нибудь переменную в начале процедуры? Я пытался использовать DEFINE, но это тоже ошибка.