从DB2存储过程中检索返回值

时间:2008-12-17 01:21:39

标签: sql stored-procedures db2 return-value

我有一个在DB2存储过程中重复的代码块。 我想把它分成一个新的程序,我可以用参数调用它并让它返回一个值。

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

2 个答案:

答案 0 :(得分:4)

是的,只需输出参数即可。 我在手册或谷歌中找不到正确的调用语法。

您可以创建如下过程:

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参数以及INOUT参数。

现在看来很明显。 :)

答案 1 :(得分:0)

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