shell脚本如何给sql设置变量

time_tmp=`sqlplus -S "oo_admin/opsware as sysdba"<<!
select round(to_number(to_char(sysdate,'yyyymmdd')-20130521)*24) from dual;
!
result_time=`echo ${time_tmp} |sed -n 1p |awk '{print $NF}'`
echo ${result_time}
result_tmp=sqlplus -S "oo_admin/opsware as sysdba"<<!
select 'BEFORE: ' from dual;
/
set serveroutput on 2000000
/
BEGIN
dbms_output.enable;
dbms_output.put_line('PRUNING...');
HP_OO_PRUNE.PRUNE_RUN_HISTORY(
KEEP_THIS_MANY_HOURS => ${result_time},
PRUNE_BATCH_SIZE => 1000,
PRUNE_RUN_HISTORY => 'true',
PRUNE_DASHBOARD => 'true',
VERBOSE => 2
如上脚本中想将 result_time值赋给 KEEP_THIS_MANY_HOURS 该如何做

只能把这些sql命令以及变量的值都分行写入一个文本文件中,然后:
sqlplus -S "oo_admin/opsware as sysdba" < 文本文件
温馨提示:答案为网友推荐,仅供参考
相似回答