说我的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\n"
printf "FMT: $fmt_load\n"
变量替换在WHERE部分中有效,但在这里,我需要在SELECT部分。
有人可以帮忙吗?
答案 0 :(得分:0)
你的heredoc << "EOF"
没有扩展变量。删除结束标记EOF
周围的双引号,以便扩展变量:
data_rec=`sqlplus -s ${user}/${password} << EOF
...