【问题标题】:Retrieve return value from DB2 stored procedure从 DB2 存储过程中检索返回值
【发布时间】:2008-12-17 01:21:39
【问题描述】:

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

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

【问题讨论】:

    标签: sql stored-procedures db2 return-value


    【解决方案1】:

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

    您可以这样创建过程:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 他们的文档很糟糕,对我没有任何帮助。
      猜你喜欢
      • 2012-10-06
      • 2011-12-20
      • 2010-09-10
      • 1970-01-01
      • 2019-01-16
      • 1970-01-01
      • 2012-08-03
      • 2017-04-02
      相关资源
      最近更新 更多