我正在从 shell 脚本调用一个过程,我的过程有一个 out 参数,如果出现任何错误,它最后会返回“2”。我的问题是如何在 unix 环境中捕获最后返回的值/行?. 我需要根据返回值“2”使用退出 1 终止我的主机程序。任何建议都会有所帮助。
问问题
277 次
1 回答
0
您可以直接将输出值分配给 shell 变量。
或者,您也可以在 SQL*Plus 中调用 PL/SQL 过程并将 OUTPUT 参数的值存储在本地文件中。然后在您的 shell 脚本中,grep
从文件中获取所需的值。
例如,
out_variable=`sqlplus -s $conn_string <<EOF
SET SERVEROUTPUT ON SIZE 1000000
SET FEEDBACK OFF
whenever sqlerror exit 1;
variable o_val number;
EXEC myproc(:o_val);
EOF`
所以,out_variable
就会有程序的输出值。使用反引号,将执行 sqlplus 的输出并将其分配给 shell 变量。
于 2015-04-04T09:52:46.430 回答