我正在SQL Developer(oracle)中运行以下代码,以运行查询并将csv文件导出到文件夹中。我也想将系统日期添加到文件名中。我正在使用以下代码。尽管可以完成此工作,但它会要求用户在弹出窗口中输入日期。我希望摆脱弹出窗口,而是让代码改用系统日期。有什么方法可以消除用户输入窗口?
第二个问题是,这还将SQL代码和查询结果一起带到输出文件中,还有什么方法可以避免引入SQL?
set VERIFY off
set FEEDBACK off
set echo off
set heading off
col date_stp new_value date_stp
Select to_char(sysdate,'yyyymmdd') date_stp from dual;
Spool 'I:\Folder\ExportData&date_stp..csv';
SET sqlformat csv;
Select Customer, ID, etc -- the content of the query
Spool off;
这里是方法:
SQL> col datum new_val x
SQL> select to_char(sysdate, 'yyyymmdd') datum from dual;
DATUM
--------
20200612
SQL> spool emp&x..txt
SQL> select empno, ename, job, sal from emp where deptno = 10;
EMPNO ENAME JOB SAL
---------- ---------- --------- ----------
7782 CLARK MANAGER 2450
7839 KING PRESIDENT 5000
7934 MILLER CLERK 1300
SQL> spool off
SQL> $dir emp*.txt
Volume in drive C is OSDisk
Volume Serial Number is 7635-F892
Directory of C:\Users\lf
12.06.2020. 20:46 494 emp20200612.txt --> here it is
1 File(s) 494 bytes
0 Dir(s) 260.047.118.336 bytes free
SQL>