首页 > 代码库 > Oracle用spool导出数据

Oracle用spool导出数据

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

Oracle用spool导出数据