3

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

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

4

2 回答 2

5

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

您可以像这样创建过程:

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参数。

当然现在看起来很明显。:)

于 2008-12-17T23:22:28.123 回答
0

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

于 2008-12-17T08:24:38.700 回答