SQL-запрос внутри SQL-скрипта
У меня есть сценарий SQL, который буферизует данные в файл. Пример существующего сценария SQL:
whenever sqlerror exit failure rollback
spool test.txt
set serveroutput on
select * from emp;
spool off
/
Но я хотел бы написать SQL-запрос в этом сценарии перед буферизацией данных. Я не хочу жестко задавать имя файла спулинга, так как я могу получить имя файла из таблицы или поиска?
Я хочу, чтобы код был что-то вроде
var filename varchar2(30);
select fname into :filename from table where script = 'abcscript';
spool :filename
set serveroutput on
select * from emp;
spool off
/
Благодарю.
1 ответ
Решение
COLUMN spool_file_name NEW_VALUE.spool_file_name NOPRINT
select fname spool_file_name
from table where script = 'abcscript';
SPOOL &spool_file_name
SET ECHO ON
select * from emp ;
SPOOL OFF
COLUMN spool_file_name CLEAR