sqlplus 查询结果 换行

标签:
sqlplus查询结果换行格式it |
今天需要做一个在shell中执行sqlplus并且将执行的结果导出到文件中,但是在执行过程中一直出现自动换行的情况,格式混乱。经过查询可以同过指定列显示长度【col
col1 format a20】来控制
问题出现截图和解决后截图如下
废话不多说,代码贴上:
#获取参数
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
前一篇:java 主线程等待子线程结束
后一篇:MyEclipse 修改编码