0
oracleデータベースに接続してほとんどコマンドを実行しないシェルスクリプトを作成しています。コードは次のようになります。Oracleエラー:[:into:不明なオペレータ
mSqlCmd="select *
from bs_transferSystemRole
where system_ = '$system'
and role_type = $roleType
and abstract_type_desc = '$abstractTypeDesc'"
sqlplus -s $DB_CONNECT <<EOF 2>/dev/null
WHENEVER SQLERROR EXIT SQL.SQLCODE
set echo off termout off feedback off heading off
$mSqlCmd;
exit SQL.SQLCODE;
EOF
if [ $? -eq 0 ]
then
mSQLCode=`sqlplus -s $DB_CONNECT <<EOF 2>/dev/null
WHENEVER SQLERROR EXIT SQL.SQLCODE
set echo off termout off feedback off heading off
insert into bs_transferSystemRole (system_, role_type, abstract_type_desc,use_synch_client_logic, multiple_match_option) values ('$system', $roleType, '$abstractTypeDesc','$useSyncClientLogic', $multiMatchOption);
exit SQL.SQLCODE;
EOF`
if [ $mSQLCode -ne 0 ] // error at this line: [: into: unknown operator
then
print "Error: Failed to add record to bs_transferSystemRole table for " \
| tee -a $logFile
else
print "Record for '$line' added to bs_transferSystemRole table "\
| tee -a $logFile
fi
私はコード内のすべての適切な変数を含む適切な入力ファイル、とLinuxマシン上で上記のスクリプトを実行すると、私はエラー[を取得:へ:不明オペレータラインで[$のmSQLCode場合 - ne 0]。
oracleのInsert into文に問題がありますか。どんな助けもありがとう。
ライン( '場合、[$ mSQL..'と出力を投稿するには、明確にするため、しばらくの間、' '場合は、他の.comment前に行'エコー$ mSQLCode'を追加することができます。私はそれを行っている –
@KaushikNayakと( "COREIN"、67305744、 '0'、 'N'、0) " –
あなたの頭にシバンを追加する必要があるかもしれません。スクリプト: '#!/ usr/bin/env bash'を実行して、あなたが期待しているインタプリタを取得していることを確認してください。また、' $ mSQLCode'のような引用変数を二重にすると思われました。 – jww