我在下面运行:sqlplus ABC_TT/asfddd@\"SADSS.it.uk.hibm.sdkm:1521/UGJG.UK.HIBM.SDKM\"
在执行一个存储过程exec HOLD.TRWER
之后,我想在 unix 文件中捕获上述存储过程的返回代码,因为我在 unix 中运行上述命令。请建议。
问问题
15283 次
3 回答
3
我猜你正在寻找spool
SQL> spool output.txt
SQL> select 1 from dual;
1
----------
1
SQL> spool off
现在退出后。查询/stroed 过程输出将存储在名为 output.txt 的文件中
于 2013-09-03T05:35:55.543 回答
1
如果return code
你的意思是output
那么:
command > file
如果return code
你的意思是exit status
那么:
command
echo "$?" > file
如果您还有其他意思,请告诉我们。
于 2013-09-02T14:12:56.767 回答
0
您可以将命令返回值存储在变量中
value=`command`
然后检查它的价值
echo "$value"
对于您在 shell 脚本中执行 oracle 命令的情况,
value=`sqlplus ABC_TT/asfddd@\"SADSS.it.uk.hibm.sdkm:1521/UGJG.UK.HIBM.SDKM\" \
exec HOLD.TRWER`
我不确定sql查询,但是您可以使用
value=`oraclecommand`.
要打印 oracle 命令的返回结果,
echo "$value"
要检查 oracle 命令或任何其他命令是否成功执行,只需
检查 $? 执行命令后的值。返回值为 0 表示成功,非零表示失败。
if [ $?=0 ]
then
echo "Success"
else
echo "Failure"
fi
于 2013-09-02T15:28:52.900 回答