从DB2存储过程中检索返回值
问题描述:
我有一个在DB2存储过程中重复的代码块。 我想将其分解成一个新的过程,我可以使用参数调用它并返回一个值。从DB2存储过程中检索返回值
如何创建一个过程来返回一个值,以及如何从我的原始过程中调用此过程?
答
如何在您从原始proc中调用的proc中输出参数?调用一个proc是通过CALL命令完成的。它在手册中;)
答
是的,输出参数就是它所需要的。 虽然我在手册或谷歌找不到正确的调用语法。
您创建的程序是这样的:
CREATE PROCEDURE myschema.add(IN a INT, IN b INT, OUT c INT)
BEGIN
SET c = a + b;
END
然后调用它(这是我无法弄清楚):
DECLARE result INT DEFAULT 0;
CALL myschema.add(10, 20, result);
-- result == 30
然后输出在结束了提供的result
变量。 您也可以有多个OUT
params以及INOUT
params。
现在看起来很明显。 :)