0

我在下面运行:sqlplus ABC_TT/asfddd@\"SADSS.it.uk.hibm.sdkm:1521/UGJG.UK.HIBM.SDKM\" 在执行一个存储过程exec HOLD.TRWER 之后,我想在 unix 文件中捕获上述存储过程的返回代码,因为我在 unix 中运行上述命令。请建议。

4

3 回答 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 回答