1

我正在尝试使用 Oracle SQL Developer 中的 SPOOL 命令将 SQL 查询的结果输出到 CSV 文件。

我可以通过将其作为脚本调用来输出简单查询的结果。这是有效的查询:

spool trivial_output.csv
select /*csv*/ * from trivial_table;
spool off;

这就是我成功调用它的方式(F5):

@'C:\Spool to CSV\trivial_query.sql'

但是,当我使用稍微复杂的查询尝试完全相同的事情时,我收到错误消息:“SQL 错误:ORA-00933:SQL 命令未正确结束 00933。00000 - SQL 命令未正确结束”

spool total_records.csv
select  /*csv*/     enrol.year, enrol.college, count(*) as "Total Records"
from        enrolment enrol
inner join  regis_status_type regstatus
on          enrol.regis_status_type_id = regstatus.regis_status_type_id
where       enrol.year in ('201213', '201314')
and         regstatus.regis_status_type_code in ('10','41')
group by    enrol.year, enrol.college
order by    enrol.year, enrol.college
spool off;
4

2 回答 2

2

我只需要添加一个分号来分隔 SQL*Plus 命令和 SQL 语句。感谢贾斯汀洞穴

spool total_records.csv
select  /*csv*/     enrol.year, enrol.college, count(*) as "Total Records"
from        enrolment enrol
inner join  regis_status_type regstatus
on          enrol.regis_status_type_id = regstatus.regis_status_type_id
where       enrol.year in ('201213', '201314')
and         regstatus.regis_status_type_code in ('10','41')
group by    enrol.year, enrol.college
order by    enrol.year, enrol.college;
spool off;
于 2014-10-20T12:59:44.500 回答
0
spool "D:\test\test.txt"  

select  
    a.ename  
from  
    employee a  
inner join department b  
on  
(  
    a.dept_id = b.dept_id  
)  
;  
spool off  

此查询将在此处假脱机 sql 结果 D:\test\test.txt

于 2016-08-05T08:39:16.233 回答