将变量传递给查询的SELECT部分
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将变量传递给查询的SELECT部分相关的知识,希望对你有一定的参考价值。
说我的shell脚本中有这个:
label="SOME_VALUE"
data_rec=`sqlplus -s ${user}/${password} << "EOF"
set heading off feedback off verify off timing off
SELECT load||','||fmt_load
FROM (SELECT RETRIEVE_PROCESS_CONTROL('$label','','MMDDYYYY') load
FROM dual),
(SELECT RETRIEVE_PROCESS_CONTROL('$label','','MM/DD/YYYY-HH24:MI:SS') fmt_load
FROM dual);
exit
EOF`
load=`echo $data_rec | cut -f1 -d',' | awk '{print $1}'`
fmt_load=`echo $data_rec | cut -f2 -d',' | awk '{print $1}'`
printf "Load: $load
"
printf "FMT: $fmt_load
"
变量替换在WHERE部分中有效,但在这里,我需要在SELECT部分中。
有人可以帮忙吗?
答案
你的heredoc << "EOF"
不会扩展变量。删除结束标记EOF
周围的双引号,以便扩展变量:
data_rec=`sqlplus -s ${user}/${password} << EOF
...
以上是关于将变量传递给查询的SELECT部分的主要内容,如果未能解决你的问题,请参考以下文章
Android:将片段和弹出窗口的点击事件中生成的变量传递给活动的方法