2017-10-06 150 views
0

我对shell脚本非常陌生,我想在if'条件'内写入SQL查询,而不是在'block'内部。任何人都可以帮助我吗?如何在如果条件的ksh shell脚本中写入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

你添加头和反馈关闭? –

+0

我忘了补充一点。它现在工作!非常感谢!!! :) –

0

我没有现在的环境进行测试,但我认为你需要放引号(')。

'sqlplus -s /@user_pass_dbname << EOF select param_value from my_table 
    where my_id=1 EXIT; /EOF'