从oracle导出csv格式文件(利用plsql developer工具可以很方便的导出结果集为csv文件,但是在没有plsql工具时,可以利用以下的方法来实现导出查询结果为csv格式文件。)

一,
oracle用户登陆linux系统,编辑导出文件脚本 csv_spool.sql
set colsep ,
set feedback off
set heading off
set trimout on
spool /home/oracle/dept.csv
select '"' || DEPTNO || '","' || DNAME || '","' || LOC || '"' from scott.dept;
spool off
exit

spool /home/oracle/dept.csv --这里指定导出csv文件的路径和文件名称
select '"' || DEPTNO || '","' || DNAME || '","' || LOC || '"' from scott.dept;
--这里指定导出表名和字段名

二,
表名格式为username.table_name,使用以下语句,并修改对应表名和用户名:
(执行此语句需要拥有dba权限)

SELECT 'select '||wm_concat(cols)||' from '|| 'scott.dept' ||';' FROM (
SELECT '"'||column_name||'"' AS cols from dba_col_comments WHERE table_name='DEPT' AND owner ='SCOTT');

修改语句后,在sqlplus中执行,并将结果集复制到.sql中,替换原文件中的select语句,保存退出。
三,
执行>
sqlplus -s 用户名/密码@数据库名 @/路径/csv_spool.sql
(这里的用户需要拥有访问sql脚本中指定表的select权限)

四,查看/home/oracle路径下是否生成dept.csv文件。