bashを使用してoracle sqlplusクエリをループする必要があります。bashスクリプトのループsqlクエリ
私のシナリオはこのようなものです。私はテキストファイルに一連の名前があり、sqlplusクエリを使ってその名前の詳細を調べる必要があります。
textfile.txt内容:
john
robert
samuel
chris
bashスクリプト
#!/bin/bash
while read line
do
/opt/oracle/bin/sqlplus -s [email protected]/password @query.sql $line
done < /tmp/textfile.txt
SQLクエリ:query.sql
set verify off
set heading off
select customerid from customers where customername like '%&1%';
exit
問題は、私は、スクリプトを実行したとき、私は
のようなエラーが出ていますSP2-0734:未知のコマンドの開始 "robert ..." - 残りの行は無視されます。
誰かがこれを解決する方法を教えてもらえますか?
にそれを送信する前に、SQLコマンドにそれを配置します通常は1つの大きなクエリを実行し、SQLのループを避ける方が良い –
確かに。 OPがテキストファイルに保存されたストアドプロシージャを再発明しようとしているようです。 – lll