系统环境HP-UNIX + Oracle 10g
假如有一个sql文件 abc.sql
set pagesize 0
set feedback off
set heading offspool /abc/123.spoolselect count(1) from input_tbl where insert_date < add_months(sysdate,&1);spool off
exit
我在shell中写了下述一行命令sqlplus -s username/passsword@dbname@${HOME}abc.sql -2 把-2作为参数传入到 abc.sql文件中
现在遇到一个问题,在生成的123.spool文件中 第一行个第二行永远都是没有被变量替换和替换过的SQL语句。old 1: select count(1) from input_tbl where insert_date < add_months(sysdate,&1)
new 1: select count(1) from input_tbl where insert_date < add_months(sysdate,-2)
1 因为生成的这个123.spool文件 我要继续拿来分析生成报表 实际上在这个文件中 只有第三行数字 1 才是我想要的结果
现在的问题是有什么办法 或者配置选项 能让生成的文件不显示第一行和第二行的SQL语句?
假如有一个sql文件 abc.sql
set pagesize 0
set feedback off
set heading offspool /abc/123.spoolselect count(1) from input_tbl where insert_date < add_months(sysdate,&1);spool off
exit
我在shell中写了下述一行命令sqlplus -s username/passsword@dbname@${HOME}abc.sql -2 把-2作为参数传入到 abc.sql文件中
现在遇到一个问题,在生成的123.spool文件中 第一行个第二行永远都是没有被变量替换和替换过的SQL语句。old 1: select count(1) from input_tbl where insert_date < add_months(sysdate,&1)
new 1: select count(1) from input_tbl where insert_date < add_months(sysdate,-2)
1 因为生成的这个123.spool文件 我要继续拿来分析生成报表 实际上在这个文件中 只有第三行数字 1 才是我想要的结果
现在的问题是有什么办法 或者配置选项 能让生成的文件不显示第一行和第二行的SQL语句?
SET VERIFY OFF
谢谢 已经搞定 网上查了很多SQLPLUS的配置选项 都没有提过这个VERIFY 囧rz
Linux scana 2.6.18-53.el5xen , Oracle Database 10gset pagesize 0; -- 输出每页行数,缺省为24,为了避免分页,可设定为0
set heading off; -- 输出域标题,缺省为on
set echo off; -- 显示start启动的脚本中的每个sql命令,缺省为on
set feedback on; -- 回显本次sql命令处理的记录条数,缺省为on
set termout off; -- 显示脚本中的命令的执行结果,缺省为on
set trimout on; -- 去除标准输出每行的拖尾空格,缺省为off
set trimspool on; -- 去除重定向(spool)输出每行的拖尾空格,缺省为off
set linesize 30000; -- 输出一行字符个数,缺省为80
set numwidth 22; -- 输出number类型域长度,缺省为10
SET VERIFY OFF ; -- 去掉输出结果中的脚本回写
set colsep | -- 域输出分隔符 缺省为 TAB键
alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'; -- 修改日期显示格式[gmcc@tmpana ~]$ cat test_spool2.txt
SQL> select * from tmp_user where rownum<10;
admin |8a7a7cad2022005c0120232b19f40013|admin |系统管理员 |0|
SQL>spool off;