我有一个在DB2存储过程中重复的代码块。 我想把它分成一个新的程序,我可以用参数调用它并让它返回一个值。
如何创建返回值的过程以及如何从原始过程中调用此过程?
答案 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命令完成的。它在手册中;)