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

  • 相关阅读:
    【BZOJ4637】期望 Kruskal+矩阵树定理
    IEnumerable是什么
    (转)IIS windows认证
    使用pgrouting进行最短路径搜索
    Nginx设置防止IP及非配置域名访问
    java 调用c# web api 代码
    一台机器部署多个tomcat服务 nginx反向代理多个服务 笔记
    利用Kettle 从Excel中抽取数据写入SQLite
    sql server 统计信息
    sql server 索引碎片相关问题
  • 原文地址:https://www.cnblogs.com/doclaim/p/3127914.html
Copyright © 2011-2022 走看看