zoukankan      html  css  js  c++  java
  • [转]Shell脚本中获取SELECT结果值的方法

    http://blog.itpub.net/13885898/viewspace-1670297/

    有时候我们可能会需要在Shell脚本中执行SELECT语句,并将结果赋值给一个变量,对于这样的情形,我们可以用以下的方法来达到目的。

    点击(此处)折叠或打开

    1. #!/bin/ksh
    2. #
    3. # Created : 2015.05.25
    4. # Updated : 2015.05.25
    5. # Author : Jet Chenxi Zhang
    6. # Description : Get SELECT result in Shell
    7. # Variable Definitions #
    8. ORACLE_SID=audtest
    9. ORACLE_HOME=/app/oracle/product/database/11.2.0/db_1
    10. PATH=$PATH:$ORACLE_HOME/bin
    11. DBNAME=
    12. # Get Database name by quering v$database #
    13. DBNMAE=`
    14. sqlplus -s /nolog <<EOF
    15. set echo off feedback off heading off underline off;
    16. conn / as sysdba;
    17. select name from v\$database;
    18. exit;
    19. EOF`
    20. echo "Database name: "$DBNMAE

    如上代码,可以将获取Database Name,执行结果如下:

    1. [oracle@hxddcx02 ~]$ ./query_dbname.sh
    2. Database name: AUDTEST

    可以看到SELECT的结果已被正确赋值给Shell的变量。如果SELECT中有多个列的值,也可以用此方法,只是需要将结果进行分拆,如用awk:

    点击(此处)折叠或打开

    1. #!/bin/ksh
    2. #
    3. # Created : 2015.05.25
    4. # Updated : 2015.05.25
    5. # Author : Jet Chenxi Zhang
    6. # Description : Get SELECT results in Shell
    7. # Variable Definitions #
    8. ORACLE_SID=audtest
    9. ORACLE_HOME=/app/oracle/product/database/11.2.0/db_1
    10. PATH=$PATH:$ORACLE_HOME/bin
    11. QUERYRES=
    12. DBID=
    13. DBNAME=
    14. # Get Database name by quering v$database #
    15. QUERYRES=`
    16. sqlplus -s /nolog <<EOF
    17. set echo off feedback off heading off underline off;
    18. conn / as sysdba;
    19. select dbid, name from v\$database;
    20. exit;
    21. EOF`
    22. DBID=`echo $QUERYRES | awk -F' ' '{print $1}'`
    23. DBNAME=`echo $QUERYRES | awk -F' ' '{print $2}'`
    24. echo "Database ID: "$DBID
    25. echo "Database name: "$DBNAME

    运行结果如下:

    1. [oracle@hxddcx02 ~]$ ./query_dbname2.sh
    2. Database ID: 811711272
    3. Database name: AUDTEST
  • 相关阅读:
    修改MSSql数据库名
    系统更新0x8DDD0007号错误解决方案
    win7密匙 win7永久激活工具
    Ps制作的立体字效果
    PS合成人物与风景
    word打不开_如何删除normal.dot
    查看自己的IP地址和网卡的MAC地址
    char varchar nvarchar区别
    配置节点简单使用
    线程相关的概念
  • 原文地址:https://www.cnblogs.com/shengs/p/4593093.html
Copyright © 2011-2022 走看看