1,spool常用的设置:
set head off:输出域标题,缺省为on
set linesize 20000:linesize可以设置的大点,防止一行长度不够
set echo off:显示sqlplus中的每个sql命令本身,缺省为on
set feedback off:回显本次sql命令处理的记录条数,缺省为on
set pagesize 0:输出每页行数,缺省为24,为了避免分页,可设定为0
set termout off:显示脚本中的命令的执行结果,缺省为on
set trimout on:去除标准输出每行的拖尾空格,缺省为off
set trimspool on:去除重定向(spool)输出每行的拖尾空格,缺省为off
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设定尽量根据需要来设定
2,sqlplus命令行中的步骤
1,在sqlplus命令行中,打开缓冲并指定文件
spool /home/oracle/output.txt
2,去掉字段名,和格式显示
set heading off
set termout off
set trimspool on
set echo off
//同行数据不换行 默认80,根据自己需求调整
set linesize 800
//不分页
set pagesize 0
//禁止最后计数反馈
set feedback off
3,查询语句
select
ID||'|'||
NAME||'|'
from TABLE;
//不打印select语句
//@select.sql
4,关闭缓冲
spool off;
3,脚本
#!/bin/sh
sqlplus oracle_user/password<<EOF
spool /home/oracle/output.txt
set heading off
set termout on
set trimspool on
set echo on
set linesize 800
set pagesize 0
select
ID||'|'||
NAME||'|'||
ND_CD||'|'
from TABLE;
spool off;
exit
EOF
4,导出excel格式
4.1 格外设置参数
set colsep ','
4.2 对应文件名修改
spool /home/oracle/output.csv