SYBASE从isql呼吁AIX存储过程:如何处理返回代码
-
23-08-2019 - |
题
我有一个使用ISQL在Sybase执行存储过程的AIX批处理作业。存储过程将返回在一定条件下的错误代码。我想为isql来该返回码传递给AIX脚本。
我可以捕获ISQL内的存储过程的返回码,或做我必须写一些类型的输出文件,并有我的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 -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"
不隶属于 StackOverflow