存储过程返回更新记录计数?

时间:2010-08-18 06:06:32

标签: stored-procedures db2 ibm-midrange

我对存储过程很新。我正在尝试创建一个存储过程,它将执行更新,接受2个输入参数并返回更新的记录数(在我的情况下总是1)。

到目前为止我已经管理到了这个但是我不明白在打开游标后如何返回变量。在我的情况下光标是否必要?如果我的方法有误,请纠正我。

    CREATE PROCEDURE PAKRETST.FTUMODINST (IN GENFORTREATYSRNO INTEGER,IN GENFTMDPDUENO INTEGER, OUT NUMREC SMALLINT)
RESULT SETS 0 MODIFIES SQL DATA LANGUAGE SQL
P1:BEGIN
    DELCARE strCmd VARCHAR(500);
    DECLARE x CURSOR WITH RETURN TO CALLER FOR SL;
    SET strCmd='UPDATE PAKRETST.UWFTMDPDUEDATES a where a.GENFORTREATYSRNO='||GENFORTREATYSRNO||'AND a.GENFTMDPDUENO='||GENFTMDPDUENO;
    PREPARE SL FROM strCmd;
    SET NUMREC= -- Stuck here --
    RETURN;
    END
    ;

1 个答案:

答案 0 :(得分:4)

您不需要光标。只需在您坚持使用的行上使用GET DIAGNOSTICS NUMREC = ROW_COUNT即可。

更多信息here