2008-12-17 50 views
2

我有一个在DB2存储过程中重复的代码块。 我想将其分解成一个新的过程,我可以使用参数调用它并返回一个值。从DB2存储过程中检索返回值

如何创建一个过程来返回一个值,以及如何从我的原始过程中调用此过程?

回答

1

如何在您从原始proc中调用的proc中输出参数?调用一个proc是通过CALL命令完成的。它在手册中;)

3

是的,输出参数就是它所需要的。 虽然我在手册或谷歌找不到正确的调用语法。

您创建的程序是这样的:

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。

现在看起来很明显。 :)