我在捕获存储过程的返回码时遇到了问题。我正在使用 isql 语句在我的 korn shell 脚本中调用 sybase 存储过程,如下所述。
isql -U ${APPLID} -S{SERVER}> ${sqlMsg} << EOF
use ${DATABASE}
go
exec stored_procedure
go
EOF
returncode=$?
如果存储过程内部发生错误,如果按照以下方法,我将无法捕获。
if [ $returncode -ne 0 ]
then
print "failed"
fi
我尝试在存储过程中使用 return 语句,例如
return (1)
但这并没有给我预期的结果。当我回显返回码时,它回显为 0,即使在将状态返回为 1 之后也是如此。在 sql 日志中看到返回状态为 1。