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,如需转载请自行联系原作者

相关文章
|
8月前
|
SQL 自然语言处理 数据库
【Azure Developer】分享两段Python代码处理表格(CSV格式)数据 : 根据每列的内容生成SQL语句
本文介绍了使用Python Pandas处理数据收集任务中格式不统一的问题。针对两种情况:服务名对应多人拥有状态(1/0表示),以及服务名与人名重复列的情况,分别采用双层for循环和字典数据结构实现数据转换,最终生成Name对应的Services列表(逗号分隔)。此方法高效解决大量数据的人工处理难题,减少错误并提升效率。文中附带代码示例及执行结果截图,便于理解和实践。
226 4
|
8月前
|
SQL Java 数据库连接
【YashanDB知识库】解决mybatis的mapper文件sql语句结尾加分号";"报错
【YashanDB知识库】解决mybatis的mapper文件sql语句结尾加分号";"报错
|
8月前
|
SQL Java 数据库连接
【YashanDB 知识库】解决 mybatis 的 mapper 文件 sql 语句结尾加分号";"报错
【YashanDB 知识库】解决 mybatis 的 mapper 文件 sql 语句结尾加分号";"报错
|
11月前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
SQL 数据库
为什么 SQL 日志文件很大,我应该如何处理?
为什么 SQL 日志文件很大,我应该如何处理?
|
SQL 关系型数据库 Shell
SQL整库导出语录及其实用技巧与方法
在数据库管理和备份恢复过程中,整库导出是一项至关重要的任务
|
SQL 数据库
为什么SQL日志文件很大,该如何处理?
为什么SQL日志文件很大,该如何处理?
|
SQL 分布式计算 Java
大数据-96 Spark 集群 SparkSQL Scala编写SQL操作SparkSQL的数据源:JSON、CSV、JDBC、Hive
大数据-96 Spark 集群 SparkSQL Scala编写SQL操作SparkSQL的数据源:JSON、CSV、JDBC、Hive
274 0
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
528 13