【1】Spool

spool的作用可以用一句话来描述:在sqlplus中用来保存或打印查询结果。即,可以将sql查询的结果保存问文件。

spool常用的设置

set colsep',';    //域(列)输出分隔符 
set echo off;    //不显示start启动的脚本中的每个sql命令,缺省为on
set feedback off;  //不回显本次sql命令处理的记录条数,缺省为on
set heading off;   //不输出域(列)标题,缺省为on
set pagesize 0;   //输出每页行数,缺省为24,为了避免分页,可设定为0。
set termout off;   //不显示脚本中的命令的执行结果,缺省为on
set trimout on;   //去除标准输出每行的拖尾空格,缺省为off
set trimspool on;  //去除重定向(spool)输出每行的拖尾空格,缺省为off
set term off; //不在屏幕上显示
set linesize 10000; //设置行宽,根据需要设置,默认100
set wrap off; //让它不要自动换行,当行的长度大于LINESIZE的时候,超出的部分会被截掉。

【2】PL/SQL下使用spool脚本导出txt

spool.sql脚本如下:

SPOOL D:\测试.txt 
set echo off --不显示脚本中正在执行的SQL语句
set feedback off --不显示sql查询或修改行数
set term off --不在屏幕上显示
set heading off --不显示列
set linesize 1000; //设置行宽,根据需要设置,默认100
select AAB301||','||AAE002|| ',' ||AAC001|| ',' ||AAE252|| ',' ||AAE091|| ',' ||AAE020|| ',' ||AAE022 FROM JGCA; --需要导出的数据查询sql
SPOOL OFF

PL/SQL操作如下:

Oracle - Spool导出数据到TXT文件_spool


将查询的行记录保存到D盘下TXT文档中

Oracle - Spool导出数据到TXT文件_sql查询_02


TXT文档内容如下:

Oracle - Spool导出数据到TXT文件_sql查询_03