SQL*Plus:强制它返回错误代码

Tom*_*Tom 2 oracle sqlplus exit-code

我有一个具有OUT参数的存储过程,表示错误代码.如果错误代码不是0,那么我引发错误

DECLARE
BEGIN
 foo (err_code);

 IF (err_code <> 0) THEN
   raise_application_error(...);

END;
Run Code Online (Sandbox Code Playgroud)

到目前为止一切都那么好,但这是我的问题.

这段代码(如上所示)由sqlplus执行,sqlplus是从shell脚本调用的,它应该以0/not 0(作为sql脚本)退出.

#shell script

sqlplus ... @myscript
return $?
Run Code Online (Sandbox Code Playgroud)

执行raise_application_error时,控制权返回sqlplus.

sql>
Run Code Online (Sandbox Code Playgroud)

我想要的是一种退出shell的方法,没有sqlplus在$上返回0?

有什么想法吗?提前致谢.