但行好事
莫论前程❤

Oracle系列教程 — Shell 脚本和sqlplus交互参数

有些时候我们可能需要shell脚本通过oracle的sqlplus执行一些sql,并对结果集进行相关的操作。

1、设置输出显示

  • 常用的参数设置
SQL> set heading off;   //输出域标题,缺省为on
SQL> set pagesize 0;   //输出每页行数,缺省为24,为了避免分页,可设定为0。
SQL> set verify off         //可以关闭和打开提示确认信息old 1和new 1的显示.
SQL> set feedback off;   //回显本次sql命令处理的记录条数,缺省为on
SQL> set echo off; //显示start启动的脚本中的每个sql命令,缺省为on
  • 所有参数
SQL> show all --查看所有68个系统变量值
SQL> show user --显示当前连接用户
SQL> show error --显示错误
SQL> set sqlprompt "SQL> " --设置默认提示符,默认值就是"SQL> "
SQL> set linesize 1000 --设置屏幕显示行宽,默认100
SQL> set autocommit ON --设置是否自动提交,默认为OFF
SQL> set pause on --默认为OFF,设置暂停,会使屏幕显示停止,等待按下ENTER键,再显示下一页
SQL> set arraysize 1 --默认为15
SQL> set long 1000 --默认为80
SQL> desc user_views -- 显示视图属性表
SQL> desc user_tables -- 显示表属性表
SQL> run 执行当前缓冲区的命令 
SQL> / 执行当前缓冲区的命令 
SQL> r 执行当前缓冲区的命令
SQL> @s<回车>   系统会自动查询当前用户下的所有表、视图、同义词。
SQL> @@文件名 在.sql文件中调用令一个.sql文件时使用
SQL> set timing on;     //设置显示“已用时间:XXXX”
SQL> set autotrace on-;   //设置允许对执行的sql进行分析
SQL> set trimout on; //去除标准输出每行的拖尾空格,缺省为off
SQL> set trimspool on; //去除重定向(spool)输出每行的拖尾空格,缺省为off
SQL> set echo on       //设置运行命令是是否显示语句
SQL> set echo off; //显示start启动的脚本中的每个sql命令,缺省为on
SQL> set feedback on;   //设置显示“已选择XX行”
SQL> set feedback off;   //回显本次sql命令处理的记录条数,缺省为on
SQL> set colsep ‘ ‘; //输出分隔符
SQL> set heading off;   //输出域标题,缺省为on
SQL> set pagesize 0;   //输出每页行数,缺省为24,为了避免分页,可设定为0。
SQL> set linesize 80;   //输出一行字符个数,缺省为80
SQL> set numwidth 12;   //输出number类型域长度,缺省为10
SQL> set termout off;   //显示脚本中的命令的执行结果,缺省为on
SQL> set serveroutput on;  //设置允许显示输出类似dbms_output
SQL> set verify off         //可以关闭和打开提示确认信息old 1和new 1的显示.

2、获取 select 输出内容

sqlplus -S /nolog <<EOF
    conn usrName/Password@Inst;
    set feedback off;
    set heading off;
    spool OutPutFileName;
    select xxxx FROM TableName WHERE yyyy=zzzz;
    spool off;
EOF
赞(1) 打赏
未经允许不得转载:刘鹏博客 » Oracle系列教程 — Shell 脚本和sqlplus交互参数
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏