使用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
?