使用spool导出数据有时候也是一个比较好的选择,7万条数据导出需要10s,注意的是需要用@d:/spool.txt调用,set termout off才会生效不显示到屏幕。SQL语句和spool off后面要加分号。
SQL> drop table test purge;
SQL> create table test as select * from dba_objects;
SQL> select count(1) from test;
70483
SQL> @d:/spool.txt
spool.txt脚本:
set feedback off
set heading off
set termout on
set colsep’’
set verify off
set echo off
set trimspool on
set pagesize 1000
set linesize 100
define filepath= ‘D:\test.csv’
prompt *** Spooling to &filepath
set termout off
spool &filepath
select * from test;
spool off;
set feedback off --回显本次sql命令处理的记录条数,缺省为on
set heading off --屏蔽显示,缺省为on
set termout on --去除标准输出每行的拖尾空格,缺省为off
set colsep’’ --域输出分隔符
set echo off --显示start启动的脚本中的每个sql命令,缺省
set trimspool on --去除重定向(spool)输出每行的拖尾空格,缺省为off
set pagesize 1000 --输出每页行数,缺省为24,为了避免分页设定为0
set linesize 100 --输出一行字符个数,缺省为80
———————————

本文介绍了如何使用SQL的spool功能高效地导出数据,通过一个具体的示例展示了如何设置和执行spool脚本,以在10秒内导出7万条数据到CSV文件中,同时提供了相关的SQL命令和配置选项,如关闭反馈、设置分隔符等。

7628

被折叠的 条评论
为什么被折叠?



