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

 我来答
白卡PALA
2017-07-11 · 知道合伙人软件行家
白卡PALA
知道合伙人软件行家
采纳数:648 获赞数:3420
性能测试4年工作经验。

向TA提问 私信TA
展开全部

请参考下面这个方法:

备注: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
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式