这可能有问题:我在我的bash文件中有内联sqlplus调用,我想传递一个参数
这段代码就是我正在尝试的
c_id=`sqlplus -S $login/$password $id << EOF
set pagesize 0
set verify off
set head off
set feedback off
SELECT id from bdd.table where ID not in (select id from bdd.TMP_table) and id > &1 and ROWNUM <= 1000 order by id;
exit;
EOF`
如何在where语句(&amp; 1)中使用我的$ id参数?
答案 0 :(得分:8)
只需将&1
更改为$id
即可。例如:
id=101
c_id=`sqlplus -S $login/$password << EOF
set pagesize 0
set verify off
set head off
set feedback off
SELECT id from bdd.table where ID not in (select id from bdd.TMP_table) and id > $id and ROWNUM <= 1000 order by id;
exit;
EOF`
Bash将执行参数替换。在$id
运行之前,101
将替换为参数的实际值,即sqlplus
。