我进行了很多搜索,但找不到任何东西。.我只是想问一下是否有任何方法可以创建和调用不带参数的过程( Informix )。我知道如何返回一个或多个值(用于过程和函数),但这不是我想要的。如果Informix不允许输出参数,那将真的很奇怪。
提前致谢!
编辑 :是的,我看到了可能,但是我仍然无法执行这样的过程。例如:
CREATE PROCEDURE mytest(batch INT,OUT p_out INT) DEFINE inc INTEGER; LET inc = 1; LET p_out = 5; END PROCEDURE;
我收到的是:
常规mytest无法解决
并且仅在执行具有输出参数的功能时才会发生。
为什么需要“输出”参数?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明智地协同工作。