我在下面跑:sqlplus ABC_TT/asfddd@\"SADSS.it.uk.hibm.sdkm:1521/UGJG.UK.HIBM.SDKM\"
我正在执行一个存储过程exec HOLD.TRWER
我想在unix文件中捕获上述存储过程的返回码,因为我在unix中运行上面的命令。请建议。
答案 0 :(得分:3)
我猜您正在寻找spool
SQL> spool output.txt
SQL> select 1 from dual;
1
----------
1
SQL> spool off
退出后退出。 query / stroed过程输出将存储在名为output.txt
的文件中答案 1 :(得分:1)
如果return code
表示output
,则表示:
command > file
如果return code
表示exit status
,则表示:
command
echo "$?" > file
如果您的意思是其他,请告诉我们。
答案 2 :(得分: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