spool+sql拼接实现导出结果集为csv格式文件

Oracle导出CSV文件
本文介绍了一种在没有PL/SQL Developer的情况下,通过编写SQL脚本的方式从Oracle数据库导出CSV格式文件的方法。该方法包括创建导出脚本、执行SQL语句及查看输出文件等步骤。

从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文件。

转载于:https://blog.51cto.com/mjal01/2045541

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值