首页 数据库 mysql教程 Shell脚本中获取SELECT结果值的方法

Shell脚本中获取SELECT结果值的方法

Jun 07, 2016 pm 03:57 PM

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

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

#!/bin/ksh
#
# Created : 2015.05.25
# Updated : 2015.05.25
# Author : Jet Chenxi Zhang
# Description : Get SELECT result in Shell

# Variable Definitions #
Oracle_SID=audtest
 ORACLE_HOME=/app/oracle/product/database/11.2.0/db_1
 PATH=$PATH:$ORACLE_HOME/bin
 DBNAME=
 
 # Get Database name by quering v$database #
 DBNMAE=`
 sqlplus -s /nolog <<EOF
 set echo off feedback off heading off underline off;
 conn / as sysdba;
 select name from v\$database;
 exit;
 EOF`
 
 echo "Database name: "$DBNMAE

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

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

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

#!/bin/ksh
#
# Created : 2015.05.25
# Updated : 2015.05.25
# Author : Jet Chenxi Zhang
# Description : Get SELECT results in Shell

# Variable Definitions #
ORACLE_SID=audtest
 ORACLE_HOME=/app/oracle/product/database/11.2.0/db_1
 PATH=$PATH:$ORACLE_HOME/bin
 QUERYRES=
 DBID=
 DBNAME=
 
 # Get Database name by quering v$database #
 QUERYRES=`
 sqlplus -s /nolog <<EOF
 set echo off feedback off heading off underline off;
 conn / as sysdba;
 select dbid, name from v\$database;
 exit;
 EOF`
 
 DBID=`echo $QUERYRES | awk -F' ' '{print $1}'`
 DBNAME=`echo $QUERYRES | awk -F' ' '{print $2}'`
 echo "Database ID: "$DBID
 echo "Database name: "$DBNAME

运行结果如下:

[oracle@hxddcx02 ~]$ ./query_dbname2.sh
Database ID: 811711272
Database name: AUDTEST

本文永久更新链接地址

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

减少在Docker中使用MySQL内存的使用 减少在Docker中使用MySQL内存的使用 Mar 04, 2025 pm 03:52 PM

减少在Docker中使用MySQL内存的使用

如何使用Alter Table语句在MySQL中更改表? 如何使用Alter Table语句在MySQL中更改表? Mar 19, 2025 pm 03:51 PM

如何使用Alter Table语句在MySQL中更改表?

mysql无法打开共享库怎么解决 mysql无法打开共享库怎么解决 Mar 04, 2025 pm 04:01 PM

mysql无法打开共享库怎么解决

什么是 SQLite?全面概述 什么是 SQLite?全面概述 Mar 04, 2025 pm 03:55 PM

什么是 SQLite?全面概述

在 Linux 中运行 MySQl(有/没有带有 phpmyadmin 的 podman 容器) 在 Linux 中运行 MySQl(有/没有带有 phpmyadmin 的 podman 容器) Mar 04, 2025 pm 03:54 PM

在 Linux 中运行 MySQl(有/没有带有 phpmyadmin 的 podman 容器)

在MacOS上运行多个MySQL版本:逐步指南 在MacOS上运行多个MySQL版本:逐步指南 Mar 04, 2025 pm 03:49 PM

在MacOS上运行多个MySQL版本:逐步指南

哪些流行的MySQL GUI工具(例如MySQL Workbench,PhpMyAdmin)是什么? 哪些流行的MySQL GUI工具(例如MySQL Workbench,PhpMyAdmin)是什么? Mar 21, 2025 pm 06:28 PM

哪些流行的MySQL GUI工具(例如MySQL Workbench,PhpMyAdmin)是什么?

如何保护MySQL免受常见漏洞(SQL注入,蛮力攻击)? 如何保护MySQL免受常见漏洞(SQL注入,蛮力攻击)? Mar 18, 2025 pm 12:00 PM

如何保护MySQL免受常见漏洞(SQL注入,蛮力攻击)?

See all articles