我搜索了很多,但找不到任何东西..我只是想问是否有任何方法可以创建和调用过程(Informix)没有参数。我知道如何返回一个或多个值(对于过程和函数),但这不是我想要的。如果 Informix 不允许输出参数,那就真的很奇怪了。
提前致谢!
EDIT: 是的,我看到这是可能的,但我仍然无法执行这样的程序。例如:
CREATE PROCEDURE mytest(batch INT,OUT p_out INT)
DEFINE inc INTEGER;
LET inc = 1;
LET p_out = 5;
END PROCEDURE;
我收到的是:
例程mytest无法解决
这种情况仅发生在执行带有输出参数的函数时。
为什么需要“out”参数? Informix 过程可以从单个调用返回多个值(或者,在本例中为单个值):
CREATE PROCEDURE mytest(batch INT) RETURNING INT AS p_out;
DEFINE inc INTEGER;
DEFINE p_out INTEGER;
LET inc = 1;
LET p_out = batch + inc;
RETURN p_out;
END PROCEDURE;
可以使用 OUT 参数的位置有限。一种是在查询中 - 有一个名称 SLV(语句局部变量)出现在一些错误消息中。我相信也有一种方法可以通过 Java (JDBC) 获取 OUT 参数。 AFAIK,其他 API 不允许这样做。
为 Informix 编写的代码假定它不需要输出参数。从其他(贫乏的?)系统迁移到 Informix 的代码需要重新考虑,以便与 Informix 合理地工作,这些系统不从单个过程提供多个输出值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)