怎么在shell脚本里面获得sqlplus执行的结果

如题所述

请参考下面这个方法:

备注:getDbUserByTableName $TableName是获取表在哪个数据库的。你可以直接把$DbUSER换成tns串或者别名即可。

#sqlplus连接数据库的方法
#需要传入两个参数,第一个是表名,一个是需要执行的sql语句,一条语句作为一行
sqlBossDb(){
TableName=$1
SqlStr=$2
getDbUserByTableName $TableName
DbUSER=`cat dbuser.temp`
Note_Log "$DbUSER连接数据库,执行语句$SqlStr"
eval echo \${$DbUSER} >aaa.temp #查询出来是sqlDbUser.cfg中DBUSERNAME项,需要换成DBUSERSTR项
DbUSER=`cat aaa.temp`
#Note_Log "开始 $DbUSER"
sqlplus  $DbUSER <<!
set linesize 1000
$SqlStr
commit;
quit
!
e
温馨提示:答案为网友推荐,仅供参考