linux脚本,导出oracle(spool)指定数据到txt

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

4.3 打开文件删除头尾的 SQL>

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值