加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

sqlplus 查询结果 换行

(2012-06-26 16:59:59)
标签:

sqlplus

查询结果

换行

格式

it

今天需要做一个在shell中执行sqlplus并且将执行的结果导出到文件中,但是在执行过程中一直出现自动换行的情况,格式混乱。经过查询可以同过指定列显示长度【col col1 format a20】来控制

问题出现截图和解决后截图如下


http://s1/middle/6a743f93tfa19c5193a70&690查询结果 换行" TITLE="sqlplus 查询结果 换行" />


废话不多说,代码贴上:

#获取参数
oraName=$1
oraPWD=$2
oraSID=$3



#sqlplus 连接命令v
CMD=$oraName"/"$oraPWD"@"$oraSID


#试连接
VALUE=`sqlplus -S "$CMD" << ! 
set verify off
set echo off
set heading off
set feedback off
set pagesize 1000
set linesize 1000 
set trimout on 
set trimspool on 
col col1 format a20
col col2 format a20
col col3 format a20
col col4 format a20
col col5 format a20
spool 1.log;

select '未转换模块' from dual;
select '服务器'  as col1 ,'模块'   as col2 ,'类型'   as col3 ,'状态'   as col4 ,'错误级别'   as col5 ,'转换结果'   as col6  from dual union all SELECT s1.server,s1.module,decode(s1.type,'procedure','存储过程','Java逻辑'),to_char(decode(s1.status,null,'未转换',s1.status)),to_char(s1.errctrllevel),'' FROM dcmodule s1 where rownum <5;

select '正在转换模块' from dual;
select '服务器'  as col1 ,'模块'   as col2 ,'类型'   as col3 ,'状态'   as col4 ,'错误级别'   as col5 ,'转换结果'   as col6  from dual union all SELECT s1.server,s1.module,decode(s1.type,'procedure','存储过程','Java逻辑'),to_char(decode(s1.status,null,'正在转换',s1.status)),to_char(s1.errctrllevel),'' FROM dcmodule s1 where rownum <5;

select '已完成模块' from dual;
select '服务器'  as col1 ,'模块'   as col2 ,'类型'   as col3 ,'状态'   as col4 ,'错误级别'   as col5 ,'转换结果'   as col6  from dual union all SELECT s1.server,s1.module,decode(s1.type,'procedure','存储过程','Java逻辑'),to_char(decode(s1.status,null,'已完成',s1.status)),to_char(s1.errctrllevel),'全部成功' FROM dcmodule s1 where rownum <10;
spool off;
exit
!`
echo x"$VALUE"



注意输入参数,用户名,密码,sid



0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有