我正在尝试创建一个脚本,以便动态创建一个新文件夹 这是我的代码
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命令中动态创建新文件夹。
答案 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。