文字列値のリストを含むテキストファイルの内容を保持する配列を作成し、その配列をKSHスクリプトのSQL関数に送信するKSHスクリプトを作成しようとしています。これが私がこれまでにしたことです:
export text_file=$HOME/values.log
while read **line**;
do
CmResTypUpd
done < $text_file
ResTypUpdは次のことを行います。
CmResTypUpd () {
sqlplus -s $db_user/$db_pass@$db_inst <<EOF
SET VERIFY OFF
SET HEADING OFF
SET PAGESIZE 200
SET LINESIZE 200
SET FEEDBACK OFF
update My_Table set Column_Field_To_Change='NEW_VALUE' where IND1_COLUMN_VALUE='SomethingSomething' and IND2_COLUMN_VALUE='**$line**';
commit;
exit;
EOF
}
私が得たのは、スクリプトがハングして何もしないということです。
また、スクリプトはクロスプラットフォームで実行できる必要があります。つまり、任意のUnix
またはで実行できる必要がありますLinux
。