0

データをファイルにスプールする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
/

ありがとう。

4

1 に答える 1

3
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
于 2012-03-18T05:14:22.770 に答える