Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / IBM DB2, WebSphere, IMS, U2, etc Новый топик    Ответить
 вопрос по хранимым процедурам  [new]
Alexei Zaycev
Member

Откуда: Петрозаводск
Сообщений: 58
допустим есть процедура А (условно) которая возвращает "result set":

CREATE PROCEDURE S.A(IN var_1 INTEGER,IN var_2 INTEGER)
DYNAMIC RESULT SETS 1
BEGIN ATOMIC
DECLARE res_sql VARCHAR(1000);
DECLARE res CURSOR WITH RETURN FOR res_tmp;

... (генерация непосредственно запроса)

PREPARE res_tmp FROM res_sql;
OPEN res;
END

и есть процедура B, которая тоже возвращает "result set", но получает его в виде результата вызова A

CREATE PROCEDURE S.B()
DYNAMIC RESULT SETS 1
BEGIN ATOMIC
???
END

а вопрос вот в чём - как правильно оформить вызов A() из B()?

Если жизнь так коротка, какой смысл куда-то спешить?!
21 мар 07, 12:52    [3923731]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по хранимым процедурам  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4946
В процедуре A:
DECLARE res CURSOR WITH RETURN TO CLIENT FOR res_tmp;

В процедуре B:
begin atomic
call s.a(...)
end
21 мар 07, 13:26    [3924009]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по хранимым процедурам  [new]
Alexei Zaycev
Member

Откуда: Петрозаводск
Сообщений: 58
спасибо, вставил - работает

еще можно узнать для общего развития - а если б я в B() хотел resultset обрабатывать через fetch, а не просто "выкидывать" наружу что нужно сделать?
объявить не TO CLIENT а TO CALLER? а дальше?

Если жизнь так коротка, какой смысл куда-то спешить?!
21 мар 07, 13:37    [3924098]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по хранимым процедурам  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4946
Alexei Zaycev
а если б я в B() хотел resultset обрабатывать через fetch, а не просто "выкидывать" наружу что нужно сделать?
объявить не TO CLIENT а TO CALLER?
Да.
Потом
ASSOCIATE RESULT SET LOCATORS
и
ALLOCATE CURSOR
21 мар 07, 14:07    [3924330]     Ответить | Цитировать Сообщить модератору
Все форумы / IBM DB2, WebSphere, IMS, U2, etc Ответить