spool是oracle sqlplus提供的一个控制命令。可以利用spool和select语句的组合动态生成一些失去了脚本或者一些数据。
1.spool作用: 在sqlplus中用来保存或打印查询结果。
set echo on --是否显示执行的命令内容
set feedback off --是否显示 * rows selected
set heading off --是否显示字段的名称
set verify off --是否显示替代变量被替代前后的语句。fil
set trimspool off --去字段空格
set pagesize 1000 --页面大小
set linesize 50//linesize设定尽量根据需要来设定,大了生成的文件也大
define fil= 'e:exp.txt'
prompt *** Spooling to &fil
spool &fil
select id||','||username||','||'"'||password||'"' from myuser;
spool off;
可以在Oracle客户端进行输入执行,也可以在PL/SQL进行输入执行。
可以将spool命令写成slq脚本,执行脚本,将spool的set单独放一个sql脚本,将select语句放一个sql脚本。
如果要设置分隔符,在select语句中用 ||'分隔符'||设置。
如果写成sql脚本,可以用 @sql脚本地址 来执行脚本,在Oracle客户端或者PLSLQ中。