详细解析SPOOL用法及使用-技术交流
2012-12-16 15:05
483 查看
详细解析SPOOL用法及使用-技术交流
SPOOL是SQLPLUS的命令
set wrap on; //当输出的行的长度大于设置的行的长度时(用set linesizen命令设置),当set wrap on时,输出行的多于的字符会另起一行显示,否则,会将输出行的多于字符切除,不予显示。
set colsep ' '; //域输出分隔符
set echo off; //显示start启动的脚本中的每个sql命令,缺省为on
set feedback off; //回显本次sql命令处理的记录条数,缺省为on
set heading off; //输出域标题,缺省为on
set pagesize 0; //输出每页行数,缺省为24,为了避免分页,可设定为0。
set termout off; //显示脚本中的命令的执行结果,缺省为on
set trimout on; //去除标准输出每行的拖尾空格,缺省为off
set trimspool on; //去除重定向(spool)输出每行的拖尾空格,缺省为off
SQL*PLUS环境设置SET NEWPAGE NONE //页和页之间没有任何间隔
SET HEADING OFF //不显示每行的列名
SET SPACE 0 //设置各列间的空格数
SET PAGESIZE 0 //不分页显示
SET TRIMOUT ON
SET TRIMSPOOL ON
SET LINESIZE 2500 //当输出的行的长度大于设置的行的长度
注:LINESIZE要稍微设置大些,免得数据被截断,它应和相应的TRIMSPOOL结合使用防止导出的文本有太多的尾部空格。
举例说明
1、编写test.sh
#!/bin/sh
user_name=test
password=123
service_name=test
sqlplus -s $user_name/$password@$service_name //-s 参数屏蔽打印到屏幕上的其他信息
set colsep ' '
set echo off
set trimout on
set trimspool on
set linesize 1000
set pagesize 0
set heading off
set termout off
set feedback off
spool 路径+生成文件名
select id ||' '||name ||' '|from t_user; //执行的SQL,以tab键分隔
spool off
EOF
然后在后台主机上调用这个shell就可以了!!
2、需要说明的是由于这种方法调用set termout off是不起作用的,所以没执行完一条语句就会在屏幕上滚动显示。
所以需要将以下部分代码编写成一个SQL文件,如:test.sql
set colsep ' '
set echo off
set trimout on
set trimspool on
set linesize 1000
set pagesize 0
set heading off
set termout off
set feedback off
spool 路径+生成文件名
select id ||' '||name ||' '|from t_user; //执行的SQL,以tab键分隔
spool off
EOF
然后在后台通过
sqlplus -s $user_name/$password@$service_name @test.sql 这种方法去调用就会屏蔽掉屏幕滚动显示了!!
SPOOL是SQLPLUS的命令
set wrap on; //当输出的行的长度大于设置的行的长度时(用set linesizen命令设置),当set wrap on时,输出行的多于的字符会另起一行显示,否则,会将输出行的多于字符切除,不予显示。
set colsep ' '; //域输出分隔符
set echo off; //显示start启动的脚本中的每个sql命令,缺省为on
set feedback off; //回显本次sql命令处理的记录条数,缺省为on
set heading off; //输出域标题,缺省为on
set pagesize 0; //输出每页行数,缺省为24,为了避免分页,可设定为0。
set termout off; //显示脚本中的命令的执行结果,缺省为on
set trimout on; //去除标准输出每行的拖尾空格,缺省为off
set trimspool on; //去除重定向(spool)输出每行的拖尾空格,缺省为off
SQL*PLUS环境设置SET NEWPAGE NONE //页和页之间没有任何间隔
SET HEADING OFF //不显示每行的列名
SET SPACE 0 //设置各列间的空格数
SET PAGESIZE 0 //不分页显示
SET TRIMOUT ON
SET TRIMSPOOL ON
SET LINESIZE 2500 //当输出的行的长度大于设置的行的长度
注:LINESIZE要稍微设置大些,免得数据被截断,它应和相应的TRIMSPOOL结合使用防止导出的文本有太多的尾部空格。
举例说明
1、编写test.sh
#!/bin/sh
user_name=test
password=123
service_name=test
sqlplus -s $user_name/$password@$service_name //-s 参数屏蔽打印到屏幕上的其他信息
set colsep ' '
set echo off
set trimout on
set trimspool on
set linesize 1000
set pagesize 0
set heading off
set termout off
set feedback off
spool 路径+生成文件名
select id ||' '||name ||' '|from t_user; //执行的SQL,以tab键分隔
spool off
EOF
然后在后台主机上调用这个shell就可以了!!
2、需要说明的是由于这种方法调用set termout off是不起作用的,所以没执行完一条语句就会在屏幕上滚动显示。
所以需要将以下部分代码编写成一个SQL文件,如:test.sql
set colsep ' '
set echo off
set trimout on
set trimspool on
set linesize 1000
set pagesize 0
set heading off
set termout off
set feedback off
spool 路径+生成文件名
select id ||' '||name ||' '|from t_user; //执行的SQL,以tab键分隔
spool off
EOF
然后在后台通过
sqlplus -s $user_name/$password@$service_name @test.sql 这种方法去调用就会屏蔽掉屏幕滚动显示了!!
相关文章推荐
- 详细解析oracle中left join,right join,inner join用法-技术交流
- xml的文档使用jaxp的DOM解析的详细案例
- Java 集合系列16之 HashSet详细介绍(源码解析)和使用示例
- 【sql】mysql left join,right join,inner join超详细用法解析
- LruCache使用以及源码详细解析
- Java【集合系列】-16- TreeSet详细介绍(源码解析)和使用示例
- lucene入门-解析pdf(使用xpdf解析中文PDF详细过程)
- Java 集合系列05之 LinkedList详细介绍(源码解析)和使用示例
- Java 集合系列13之 WeakHashMap详细介绍(源码解析)和使用示例
- .net HTMLParser详细使用说明 强大的Filter类 解析HTML文档如此简单
- Java 集合系列06之 Vector详细介绍(源码解析)和使用示例
- Ajax用法详细解析, 实现异步更新页面, 以及'post'和'get'请求属性介绍
- linux mount命令的用法详细解析
- J2SE基础夯实系列之hashcode和equals方法详细解析, hashmap对于hashcode方法的使用
- mysql group by 用法解析(详细)
- 详细解析IOS中的CGContextAddArcToPoint方法的使用
- JQUERY dialog的用法详细解析
- IOS学习之AFNetworking 使用总结 (用法+JSON解析)
- Java爬虫(五)-- httpClient进阶:使用代理(详细解析)