详细解析SPOOL的使用方法和使用方法-技术交流
SPOOL是SQLPLUS的命令
set wrap on; //当输出行的长度大于设置的行的长度(由set linesizen命令设置) set wrap on时,输出行中的许多字符将显示在另一行中。 否则,输出行中的许多字符将被剪切并不显示。
set colsep ' '; //域输出分隔符
set echo off; 显示start启动的脚本中的每个sql命令,缺省为on
设置反馈关闭; //回显通过此次sql命令处理的记录数,默认为on
设置标题; //输出域标题,默认为on
设置页面0; //输出每页的行数默认为24,可以设置为0以避免分页。
设置热关闭; //显示脚本内指令的执行结果,默认为on
set trimout on; //去除标准输出各行末尾的空格,默认为off
设置时间; //重定向(spool )在每次输出行中删除末尾的空格,默认为off
SQL*PLUS首选项SET NEWPAGE NONE //页面和页面之间没有间隔
SET HEADING OFF //不显示每行的列名
设置SET SPACE 0 //列之间的空格数
SET PAGESIZE 0 //不分页显示
设置时间
设置时间
SET LINESIZE 2500 //如果输出的行长度大于设置的行长度
注: LINESIZE应该设置得稍大一些,以避免数据被截断。 必须与相应的TRIMSPOOL结合使用,以防止导出文本中有太多的尾部空格。
举例说明
1、写test.sh
#! 微笑的饼干/sh
user_name=test
password=123
service_name=test
sqlplus-s $ user _ name/$ password @ $ service _ name/- s参数屏蔽打印在屏幕上的其他信息
设置集合'
设置关闭
设置时间
设置时间
set linesize 1000
设置页面0
设置标题关闭
设置终止关闭
设置反馈关闭
假路径生成文件名
slectid|||'||name||'|fromt_user; //要执行的SQL由制表符分隔
休眠关闭
EOF
然后在后台主机上调用这个shell就可以了!
2、此外,此方法即使调用set termout off也不起作用,因此如果不执行一个语句,则会在画面上滚动显示。
因此,必须在SQL文件中编写以下部分代码: 例如,test.sql
设置集合'
设置关闭
设置时间
设置时间
set linesize 1000
设置页面0
设置标题关闭
设置终止关闭
设置反馈关闭
假路径生成文件名
slectid|||'||name||'|fromt_user; //要执行的SQL由制表符分隔
休眠关闭
EOF
然后在后台通过
调用sqlplus-s $ user _ name/$ password @ $ service _ name @ test.SQL方法会阻止屏幕滚动显示!