繁体   English   中英

Sybase在AIX上从isql调用的proc存储过程:如何处理返回码

[英]Sybase stored proc called from isql on AIX: how to handle return code

我有一个使用isql在Sybase中执行存储过程的AIX批处理作业。 在某些情况下,存储过程将返回错误代码。 我想让isql将返回代码传递给AIX脚本。

我可以在isql中捕获存储的proc的返回码,还是必须编写某种输出文件并让AIX脚本进行检查?

这是isql命令的样子。 它在Korn shell脚本中运行。

isql -D$database -S$server -U$userId -P$password << EOF
EXEC MY_STORED_PROC $AN_INPUT_PARAMETER
go
EOF

如果我没记错的话, $? 设置为命令返回值。 EOF行之后添加以下内容:


if [[ $? != 0 ]]; then
    print "stored procedure failed"
    exit
fi

在ISQL命令中添加--retserverror ,然后使用$? 正如尼古拉所说。

这是您想要实现的目标吗?

isql -D$database -S$server -U$userId -P$password << EOF | grep RETVAL | awk -F"=" '{print $2}' | read value
declare @retval int
EXEC @retval = MY_STORED_PROC $AN_INPUT_PARAMETER
SELECT "RETVAL=" + convert(varchar, @retval)
go
EOF

echo "Procedure returned: $value"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM