首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将从表中检索到的列值存储到shell脚本中的变量中,并将其用于整个脚本

如何将从表中检索到的列值存储到shell脚本中的变量中,并将其用于整个脚本
EN

Stack Overflow用户
提问于 2011-12-28 11:34:04
回答 1查看 1.1K关注 0票数 0

我在这个论坛上看到了下面的脚本,它很有用

代码语言:javascript
运行
复制
echo "This will print the Date"  
VALUE=`sqlplus -silent apps/Z4vRD3me <<END 
set pagesize 0 feedback off verify off heading off echo off 
select sysdate from dual  
exit; 
END`

# xx=$(echo 'select sysdate from dual' | sqlplus -silent apps/Z4vRD3me)  
echo $VALUE 
echo "End of SQL"  

但是在退出SQL*PLUS之后,我还想在进一步的unix脚本中使用存储在' value‘变量中的sysdata值

执行此脚本后,我们将返回到unix模式。然后如果我输入'echo $VALUE'/'$VALUE‘,它会显示"ksh: SQL*Plus::not found“。

你能给我一个解决方案来存储我的整个unix脚本所需的列值吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2013-05-02 11:33:20

一个技巧是使用sql生成有效的shell命令并将其捕获到假脱机文件中。然后生成spoolfile

代码语言:javascript
运行
复制
TMPFILE=tmp_$$.sh
sqlplus -silent user/password <<END
set feedback off
set head off
spool $TMPFILE
Select 'export value=' || To_Char(Sysdate) from dual;
Select 'export TblCount=' || To_Char(count(*)) from all_tables;
spool off
exit
END

#Run the commands you generated in the current process and remove temp
. $TMPFILE
rm $TMPFILE

echo $value 
echo $TblCount
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8651567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档