前言:最近事情不是特别多,配合同事实现平台的自动化运维工作,其中就需要用到oracle的spool,用于实现从oracle数据库中导出巡检数据,在此过程中就遇到了一个问题:使用spool导出来的数据每行只有80字符长度,当大于80个字符时就换行或被截取了?今天对此进行总结一下
一、关于spool使用的重点设置说明
关于spool的详细说明,可以网上找找,资料一大堆,在此写几重要设置和基本使用方法即可:
v_spool.sql的编辑为:
define dt=&1 ##接收第一个参数
set wrap on;##输出行长度大于设置行长度时(用set linesize n命令设置);值为on时,多余的字符另起一行显示,否则多余的字符将被截取,不予显示;
set feedback off; ##回显本次sql命令处理的记录条数,缺省为on,设置显示“已选择XX行”
set heading off; ##输出域标题,字段的名称,缺省为on
set trimout on;##去除标准输出每行的拖尾空格,缺省为off
set trimspool on; ##去除重定向(spool)输出每行的拖尾空格,缺省为off
spool /root/dailyCheck/dpiFtp/data/xunJian_dailyCheck_dpiFtp_result_&&dt.csv
select t.day||','||t.hour||','||t.s1mmefilenum||','||t.s1ufilenum||','||t.s11filenum||','||t.gnfilenum||&