• shell 脚本读取数据库示例


    ---------------简单能运行的例子-----------------------------
    #shell use database test
    values=`sqlplus -s hmfs/hmfs@hmfs <<EOF
     select  a.rowid,a.begin_date,a.trans_kind,a.trans_kind_name from    tb_int_fac_subject a   where rownum< 2;
     exit
     EOF`
    echo "The number of rows is" ${values}.

    ------------------------------------------------------- ----

    ------去掉表头 用域分隔符分开 并用 awk 分开处理 然后循环打印 ----

    #well use database test
    values=`sqlplus -S hmfs/hmfs@hmfs <<  EOF
     set heading off
    set pagesize 0;
    set feedback off;
    set verify off;
    set echo off;
     select  rownum,a.rowid,a.begin_date,a.trans_kind,a.subject_code,'endrow'  from    tb_int_fac_subject a   where rownum< 5 ;
     exit
     EOF;`
    echo  ${values} | awk -F "endrow" '
            {
                for (i=1; i<=NF-1; i++)
                {
                   print $i
                }
            }' > rs

    -----------------------------------------------------------------

     1。set feedback

    有三种方式:

              set feedback on

              set feedback off

              set feedback n

    默认的当一条sql发出的时候,oracle会给一个反馈,比如说创建表的时候,如果成功,命令行会返回类似:Table created的反馈,又比如执行一个pl/sql成功的时候,命令行会返回:PL/SQL procedure successfully completed 。当载脚本中运行很多语句的时候,一般将feedback设为off。

    set feedback n:当一条sql语句返回n或者大于n行记录的时候,就会有feedback,比如:set feedback 5,当返回记录等于或多于5行的时候会有类似8 rows selected.的反馈.如果返回行少于5则没有此反馈。

     

    2。set termout

    有两种形式:

              set termout on

               set termout off

    当设置为set termout off的时候就会忽略sql语句的输出如果这条sql是在脚本中运行的话。也就是说如果命令不在脚本中运行,即使设置为set termout off,仍然会返回sql的结果。

     

    3。set heading

    有两种形式:

               set heading on

                set heading off

    Setting the heading specifies whether column headings (names) are printed or not.

    设置为set heading off的时候不显示列标题。

  • 相关阅读:
    Redis分布式锁实现
    mysql索引命中规则
    spring注解原理
    img 标签访问图片返回403forbidden
    根据注解修改属性的值
    通过反射改变对象的属性
    利用反射获取类或者方法或者字段上的注解的值
    什么时候出现死锁,如何解决?mysql 引擎? 多个like or 查询sql如何优化?什么是常量池?for条件执行顺序
    jvm 基础
    为什么要用jvm .
  • 原文地址:https://www.cnblogs.com/heling/p/2585017.html
Copyright © 2020-2023  润新知