Хранимая процедура возвращает обновленное количество записей? - PullRequest
1 голос
/ 18 августа 2010

Я очень плохо знаком с хранимыми процедурами. Я пытаюсь создать хранимую процедуру, которая будет выполнять обновление, принимая 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 Ответ

4 голосов
/ 18 августа 2010

Вам не нужен курсор.Просто используйте GET DIAGNOSTICS NUMREC = ROW_COUNT на линии, на которой вы застряли.

Подробнее здесь .

...