2017-10-06 20 views
0

私はシェルスクリプトには新しく、if 'block'の内部ではなくIF 'condition'の内部にSQLクエリを書きたいと思います。誰もそれで私を助けることができますか?kshシェルスクリプトの条件でSQLクエリを書く方法

私のコード: -

if [sqlplus -s /@user_pass_dbname << EOF select param_value from my_table where my_id=1 EXIT; /EOF == '7878'];then 
echo "works!!" 
else 
echo "doesn't work" 

出力: - 3行目で 構文エラー: `< <「比類のない

答えて

0

代わりに変数にSQLPLUSから値を取得します:

result=`sqlplus -s /@user_pass_dbname <<EOF 
set head off feedback off 
select param_value from param_table where param_id=1; 
exit 
EOF` 

if [ $result = 965 ]; then 
echo "works" 
else 
echo "doesn't work" 
fi 
+0

をそれは右来ていなかったので、私は$結果をエコー。それは言う PARAM_VALUE --------------------------------------------- ----------------------------------- テーブル自体を印刷しているだけでなく、値。 –

+0

di頭を付け加えてフィードバックをオフにしますか? –

+0

私はそれを忘れてしまった。それは今作動する!!どうもありがとうございます!!! :) –

0

私は今テストする環境を持っていないが、私はあなたがする必要があると思います引用符( ')を入れてください。

'sqlplus -s /@user_pass_dbname << EOF select param_value from my_table 
    where my_id=1 EXIT; /EOF' 
関連する問題