zoukankan      html  css  js  c++  java
  • shell与sqlplus交互

    sqlplus 常用参数
    -s: 不显示登录时的头信息,也不显示提示符,一般用在shell中调用sqlplus时
    set heading off: 不显示列名
    set feedback off: 不显示行数信息

    最基本的shell中调用sqlplus格式
    << EOF ....... EOF: EOF是一对标识符,标识其内的文字传给左右的的命信,不一定必须是EOF
    可以是任何两个对应的字符

    #!/bin/bash
    sqlplus /nolog << EOF
    conn scott/tiger
    select * from dept;
    exit
    EOF

    [oracle@localhost test]$ ./plus.sh

    SQL*Plus: Release 10.2.0.1.0 - Production on Fri Jun 7 12:13:04 2013

    Copyright (c) 1982, 2005, Oracle. All rights reserved.

    SQL> Connected.
    SQL>
    DEPTNO DNAME LOC
    ---------- -------------- -------------
    10 ACCOUNTING NEW YORK
    20 RESEARCH DALLAS
    30 SALES CHICAGO
    40 OPERATIONS BOSTON

    SQL> Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining option
    [oracle@localhost test]$ echo $ORACHE_SID

    //修改脚本,加上些参数再看输出结果
    #!/bin/bash
    sqlplus -s /nolog << EOF
    set heading off
    set feedback off
    conn scott/tiger
    select * from dept;
    exit
    EOF

    //加上参数的结果已经没了登录提示信息、列名、与受影响的行数信息
    [oracle@localhost test]$ ./plus.sh

    10 ACCOUNTING NEW YORK
    20 RESEARCH DALLAS
    30 SALES CHICAGO
    40 OPERATIONS BOSTON

    SQL查询结果赋值给shell变量:
    以下把dept表的总行赋给了$value这个变量
    #!/bin/bash
    values=`
    sqlplus -s /nolog << EOF
    set heading off
    set feedback off
    conn scott/tiger
    select count(*) from dept;
    exit
    EOF`
    echo "$values has retrieve"

    [oracle@localhost test]$ ./plus.sh

    4 has retrieve


    把shell的变量作为参数传给sqlplus
    $0指文件名,$1为第一个参数,$n为第n个参数
    $#指参数总数

    [oracle@localhost test]$ cat plus.sh
    #!/bin/bash
    if [ $# -ne 1 ];then
    echo 'parameter is missing'
    exit 0
    fi
    values=`
    sqlplus -s /nolog << EOF
    set heading off
    set feedback off
    conn scott/tiger
    select * from dept where DEPTNO=$1;
    exit
    EOF`
    echo "dept data is: $values"

    执行这个脚本并传入值,查询了对应的数据

    [oracle@localhost test]$ ./plus.sh 10
    dept data is:
    10 ACCOUNTING NEW YORK

  • 相关阅读:
    【转】大数据求职者说
    【转】大数据东西辣么多,我该如何给自己一个清晰的定位呢?
    【转】大数据工程师需要学习哪些?
    【English】 Re-pick up English for learning big data (not updated regularly)
    【spark】spark应用(分布式估算圆周率+基于Spark MLlib的贷款风险预测)
    【idea】scala&sbt+idea+spark使用过程中问题汇总(不定期更新)
    【idea】scala&sbt+idea安装配置与测试
    spring boot热部署
    网段判断
    【转】python测试框架--doctest
  • 原文地址:https://www.cnblogs.com/doclaim/p/3127914.html
Copyright © 2011-2022 走看看