Получить возвращаемое значение из хранимой процедуры DB2 - PullRequest
3 голосов
/ 17 декабря 2008

У меня есть блок кода, который повторяется в хранимой процедуре DB2. Я хотел бы разделить это на новую процедуру, которую я могу вызвать с параметрами, и чтобы она возвращала значение.

Как создать процедуру для возврата значения и как вызвать эту процедуру изнутри моей исходной процедуры?

Ответы [ 2 ]

4 голосов
/ 18 декабря 2008

Да, выходной параметр - это все, что нужно. Я не смог найти правильный синтаксис вызова в руководстве или в Google.

Вы создаете процедуру следующим образом:

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 параметров.

Конечно, теперь это кажется очевидным. :)

0 голосов
/ 17 декабря 2008

Как насчет выходного параметра в процедуре, которую вы вызываете из своего исходного процесса? Вызов proc выполняется с помощью команды CALL. Это в руководстве;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...