2

SQL コマンドによって設定されるシェル スクリプト環境変数があります。SQL コマンドは 3 列の複数のレコードを返します。別のシェルスクリプトに渡す必要がある各レコード。

QUERYRESULT=`${SQLPLUS_COMMAND} -s ${SQL_USER}/${SQL_PASSWD}@${SQL_SCHEMA}<<endl
set heading off  feedback off
select col1, col2,  col3
from mytable
where ......)
order by ......
;
exit
endl`
echo ${QUERYRESULT}

すべての列が空白で区切られた 1 行を出力し、すべての変数が null でないことが保証されます

 val1 val2 val3 val1 val2 val3 val1 val2 val3 ......

各レコードに対して次を呼び出す必要があります

nextScript.bash val1 val2 val3

クエリを実行することもできますが、レコードを数えて、nextScript.bash を呼び出す必要がある回数を判断します。

複数の 3 つのパラメーターの単一の環境変数から次のスクリプトを実行する方法について何か考えはありますか?

4

1 に答える 1

2

変数を使用しない場合:

( ${SQLPLUS_COMMAND} -s ${SQL_USER}/${SQL_PASSWD}@${SQL_SCHEMA}<<endl
set heading off  feedback off
select col1, col2,  col3
from mytable
where ......)
order by ......
;
exit
endl
) | while read line;do echo $line; done
于 2013-03-27T19:39:25.570 に答える