灵活结合Linux/Unix Shell 与SQL 之间的变量传输,极大程度的提高了DBA的工作效率,本文针对Linux/Unix shell sql 之间传递变量给出几个简单的示例以供参考。
Linux/Unix 下调用SQL,RAMN 请参考:Linux/Unix shell 脚本中调用SQL,RMAN脚本
一、示例
-
1、shell变量接受sql返回值之方式一
-
oracle@SZDB:~>more./retval.sh
-
-
RETVAL=`sqlplus-silentscott/tiger<<EOF
-
SETPAGESIZE0FEEDBACKOFFVERIFYOFFHEADINGOFFECHOOFF
-
SELECT*FROMempWHEREename='SCOTT';
-
EXIT;
-
EOF`
-
if[-z"$RETVAL"];then
-
echo"Norowsreturnedfromdatabase"
-
exit0
-
else
-
echo$RETVAL
-
fi
-
-
oracle@SZDB:~>chmodu+xretval.sh
-
oracle@SZDB:~>./retval.sh
-
7788SCOTTANALYST756619-APR-8734171.8820
-
-
2、shell变量接受sql返回值之方式二
-
oracle@SZDB:~>more./retval_2.sh
-
-
-
-
sqlplus-S"scott/tiger"<<EOF
-
SETPAGESIZE0FEEDBACKOFFVERIFYOFFHEADINGOFFECHOOFF
-
colcntnew_valuev_cnt
-
SELECTcount(*)cntFROMempWHEREdeptno=10;
-
exitv_cnt
-
EOF
-
VALUE="$?"
-
echo"showrowsfordeptno10:$VALUE"
-
-
3、将shell变量作为参数传递给sql脚本
-
oracle@SZDB:~>more./retval_3.sh
-
-
v_empno="$1"
-
sqlplus-S"scott/tiger"<<EOF
-
SETPAGESIZE0FEEDBACKOFFVERIFYOFFHEADINGOFFECHOOFF
-
SELECTenameFROMempWHEREempno=$v_empno;
-
exit
-
EOF
-
exit
-
-
oracle@SZDB:~>./retval_3.sh7788
-
SCOTT
分享到:
相关推荐
有关shell与SQL之间的变量传递,请参考:Linux/Unix shell sql 之间传递变量 1、启动sqlplus时执行脚本并传递参数 robin@SZDB:~/dba_scripts/custom/awr> more tmp.sh #!/bin/bash # ————————...
### Unix Oracle Shell Scripting #### 引言 本文旨在为读者提供一个在Oracle环境中进行Unix Shell脚本编写的起点。为了实现这一目标,本文被分为两个主要部分:“构建基础”和“实践示例”。其中,“构建基础”...
1. **Shell脚本**:Shell脚本是Linux/Unix系统中的一种编程语言,用于自动化命令行任务。在本例中,我们创建了一个名为`test_sql.sh`的Shell脚本来自动化执行SQL语句。 2. **配置文件**:`test_sql.properties`是...
Unix Shell编程是Unix/Linux操作系统中的一种命令行解释器,它为用户提供了一个与系统交互的界面。Shell不仅可以执行单个命令,还可以通过脚本文件组合多个命令,实现自动化任务执行。在Unix/Linux环境中,掌握Shell...
在IT行业中,Linux Shell是操作系统的核心组成部分,它提供了一个命令行接口(CLI)来与Linux或类Unix系统交互。在本场景中,我们关注的是如何在Linux Solaris环境下配置Oracle数据库以便实现自启动。这个话题涉及到...
- **编程语言选择**:讲解在 Linux 和 Unix 下常用的编程语言,如 C、C++、Shell 脚本等,并强调 C 语言的重要性。 - **编译与链接**:详细介绍如何使用 gcc 或其他编译器编译程序,包括预处理、编译、汇编和链接的...
根据提供的文件信息,我们可以从《Automating Linux and Unix System Administration》第二版这本书中提取出一些重要的知识点和技术要点。虽然标签部分列出了一些编程语言(如 C#, AJAX, Struts, C/C++, JSP),但...
Shell脚本是Linux或Unix系统中的编程语言,用于自动化日常任务,而MySQL则是一种广泛使用的开源关系型数据库管理系统。当我们需要在Linux环境下批量处理数据库操作时,结合使用shell脚本和MySQL可以极大地提高效率。...
标题中的"PHP脚本修改Linux或Unix系统口令方法"是指使用PHP编程语言编写脚本来改变Linux或Unix操作系统中的用户密码。这个过程涉及到几个关键步骤和安全注意事项。 首先,我们需要一个能够修改用户口令的Shell脚本...
【SHELL抽取C程序中SQL】是指通过编写Shell脚本来从C或C++程序中提取出包含的SQL语句。这种技术主要应用在UNIX环境下,针对那些SQL语句被封装在函数或者特定格式的程序中,例如SQC2.0程序。通过Shell脚本,可以自动...
通过以上总结,我们可以看出该文档主要介绍了Unix/Linux的基本概念、文件系统操作、Shell编程、网络操作以及Oracle PL/SQL的相关内容。这些知识点对于初学者来说是非常实用的基础知识,有助于理解和掌握Unix/Linux...
Shell是Unix/Linux系统中的命令解释器,它提供了一个交互式环境,用户可以通过命令行来操作系统。Shell脚本是用shell语言编写的一系列命令,可以批量执行任务,提高工作效率。在这个demo中,shell脚本可能是用于在...
shell可以看作是与底层UNIX命令集之间的接口。大多数任务可以在任何可用的shell中完成,但每个shell都有各自的特性,这使得它们更适合于不同的应用场合。例如,Bourne shell (/bin/sh)是一个非常基础的shell,在许多...
Shell脚本是一种在Linux或Unix操作系统中编写自动化任务的强大工具。它允许我们执行一系列命令,而无需手动输入。在与数据库交互时,我们通常会使用Shell脚本来封装SQL查询,以便批量处理或定期执行任务。 首先,...
7. **安全策略**:在Unix/Linux环境下,数据库的安全性涉及到用户权限管理、网络访问控制、审计跟踪和加密技术。DBA应熟悉Oracle的数据库权限体系、网络加密协议(如SSL/TLS)和操作系统级别的安全设置。 8. **故障...
"三种UNIX区别.ppt"则可能对比分析了不同Unix变种之间的差异,例如System V、BSD和GNU/Linux等。 最后,"负载均衡器培训胶片V2.0.ppt"可能涉及网络服务的负载均衡技术,这对于构建高可用性和可扩展性的服务器架构至...
首先,Shell脚本是Unix/Linux操作系统中的一种强大的命令行解释器,它允许用户编写自动化任务,例如执行一系列命令、处理文件或系统管理任务。在本场景中,我们将利用Shell脚本来创建一个自动备份数据库的程序。 1....