Как передать переменные в sqlplus в команде bash - PullRequest
2 голосов
/ 15 сентября 2011

Здесь может возникнуть проблема: у меня есть встроенный вызов sqlplus в моем файле bash, и я хотел бы передать ему параметр

этот код - то, что я пытаюсь

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`

какя могу использовать свой параметр $ id в своем операторе where (& 1)?

1 Ответ

8 голосов
/ 15 сентября 2011

Просто измените &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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...