在spool中创建新目录

时间:2017-03-21 07:11:33

标签: oracle oracle11g oracle-sqldeveloper

我正在尝试创建一个脚本,以便动态创建一个新文件夹 这是我的代码

set feedback off;
set pages 0;
set term off;
column dt new_value _dt;
column mn new_value _mn;
select 'C:\Users\rjen01\Desktop\'||to_char(sysdate,'MON')||'\' from dual;
select to_char(sysdate,'ddMONyyyy_hh24mi')||'.csv' dt from dual;
spool &_mn &_dt;
select sysdate from dual;
spool off;

它给出了错误 无法创建SPOOL文件C:\ Users \ rjen01 \ Desktop \ MAR \ 21MAR2017_1227.csv

因为没有文件夹C:\ Users \ rjen01 \ Desktop \ MAR.So如何在spool命令中动态创建新文件夹。

1 个答案:

答案 0 :(得分:2)

host - 执行主机操作系统命令而不离开SQL * Plus。

我已经改变了你的榜样,现在它正在发挥作用。

set feedback off;
set pages 0;
set term off;
column dt new_value _dt;
column mn new_value _mn;
select to_char(sysdate,'MON')  mn from dual;
host mkdir &_mn
select to_char(sysdate,'MON')||'\'||to_char(sysdate,'ddMONyyyy_hh24mi')||'.csv' dt from dual;
spool &_dt;
select sysdate from dual;
spool off;
/

我不知道这个解决方案是否适用于sqldeveloper。