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

简介:

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


本文转自 天黑顺路 51CTO博客,原文链接:http://blog.51cto.com/mjal01/2045541,如需转载请自行联系原作者

相关文章
|
2月前
|
SQL Oracle Java
sql文件批处理程序-java桌面应用
sql文件批处理程序-java桌面应用
25 0
|
5月前
|
SQL 调度 数据库管理
DMS执行失败的sql可以导出吗?
DMS执行失败的sql可以导出吗?
|
2月前
|
SQL 数据可视化 数据处理
使用SQL和Python处理Excel文件数据
使用SQL和Python处理Excel文件数据
55 0
|
6天前
|
SQL 分布式计算 DataWorks
DataWorks操作报错合集之在DataWorks中使用ODPS SQL时遇到"该文件对应引擎实例已失效,请重新选择可用的引擎实例"的错误提示”,是什么导致的
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
27 0
|
4月前
|
SQL Java 流计算
Flink SQL UDF(用户自定义函数)需要打包成JAR文件并上传到Flink集群中
【1月更文挑战第1天】【1月更文挑战第2篇】Flink SQL UDF(用户自定义函数)需要打包成JAR文件并上传到Flink集群中
91 0
|
1月前
|
SQL 数据库
导入 sql 文件,如果发生 ERROR 1046 (3D000) no database selected 错误
导入 sql 文件,如果发生 ERROR 1046 (3D000) no database selected 错误
9 0
|
3月前
|
SQL
sql语句将数字格式修改为字符
sql语句将数字格式修改为字符
|
4月前
|
SQL 存储 Oracle
oracle如何定期备份数据库sql文件
【1月更文挑战第7天】oracle如何定期备份数据库sql文件
58 8
|
4月前
|
SQL Oracle 关系型数据库
sql语句两个字段合并或者两个字段拼接显示
sql语句两个字段合并或者两个字段拼接显示
|
4月前
|
SQL 关系型数据库 MySQL
使用Navicat导入和导出sql语句
使用Navicat导入和导出sql语句