powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Вызов хранимой процедуры DB2 из другой ХП
15 сообщений из 15, страница 1 из 1
Вызов хранимой процедуры DB2 из другой ХП
    #34093116
power-baa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как из хранимой процедуры вызвать другую хранимую процедуру ?
...
Рейтинг: 0 / 0
Вызов хранимой процедуры DB2 из другой ХП
    #34093306
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Из хранимой процедуры какой?
С, java, sql?
...
Рейтинг: 0 / 0
Вызов хранимой процедуры DB2 из другой ХП
    #34093745
power-baa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark BarinsteinИз хранимой процедуры какой?
С, java, sql?

из процедур SQL
про java я читал, что там другие хранимые процедуры
вызывать нельзя.
...
Рейтинг: 0 / 0
Вызов хранимой процедуры DB2 из другой ХП
    #34093848
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Из процедур SQL:
1. Про статический метод вызова почитайте тут
2. Про динамический здесь

power-baaпро java я читал, что там другие хранимые процедуры
вызывать нельзя.Еще как можно! Ссылочку дадите, где вы это прочитали?
...
Рейтинг: 0 / 0
Вызов хранимой процедуры DB2 из другой ХП
    #34094302
power-baa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark BarinsteinИз процедур SQL:
1. Про статический метод вызова почитайте тут
2. Про динамический здесь

power-baaпро java я читал, что там другие хранимые процедуры
вызывать нельзя.Еще как можно! Ссылочку дадите, где вы это прочитали?

Из этого не понятно как делать вызов из SQL процедуры.
Про java я читал в своём инф. центре.
...
Рейтинг: 0 / 0
Вызов хранимой процедуры DB2 из другой ХП
    #34094627
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CREATE PROCEDURE TEST1(IN I INT, OUT J INT)
LANGUAGE SQL
BEGIN
  SET J= 2 *I;
END@

CREATE PROCEDURE TEST2(IN I INT, OUT J INT)
LANGUAGE SQL
BEGIN
  CALL TEST1(I,J);
END@

CALL TEST2(I,?)@
...
Рейтинг: 0 / 0
Вызов хранимой процедуры DB2 из другой ХП
    #34096162
golsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Mark Barinstein
Это про то, что из SQL/С SP нельзя вызывать JAVA SP и наоборот.
...
Рейтинг: 0 / 0
Вызов хранимой процедуры DB2 из другой ХП
    #34096546
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
golsaЭто про то, что из SQL/С SP нельзя вызывать JAVA SP и наоборот.В v7, вероятно, так и было (точно уже не помню).
В v8.2 единственное ограничение, которое я нашел ( тут ), это невозможность обработать result set в SQL SP, вызвавшей external SP.
См. также
Routine invocation
Java sp
...
Рейтинг: 0 / 0
Вызов хранимой процедуры DB2 из другой ХП
    #34097276
power-baa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark Barinstein
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CREATE PROCEDURE TEST1(IN I INT, OUT J INT)
LANGUAGE SQL
BEGIN
  SET J= 2 *I;
END@

CREATE PROCEDURE TEST2(IN I INT, OUT J INT)
LANGUAGE SQL
BEGIN
  CALL TEST1(I,J);
END@

CALL TEST2(I,?)@


А если я хочу набор данных, возвращаемый вызванной процедурой,
поместить в курсор ?
...
Рейтинг: 0 / 0
Вызов хранимой процедуры DB2 из другой ХП
    #34097399
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. Вызываемая процедура должна декларировать курсор(ы) как
WITH RETURN TO CALLER
2. Делаете CALL
3. Потом
ASSOCIATE LOCATORS
4. И. наконец,
ALLOCATE CURSOR
...
Рейтинг: 0 / 0
Вызов хранимой процедуры DB2 из другой ХП
    #34099991
power-baa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark Barinstein1. Вызываемая процедура должна декларировать курсор(ы) как
WITH RETURN TO CALLER
2. Делаете CALL
3. Потом
ASSOCIATE LOCATORS
4. И. наконец,
ALLOCATE CURSOR

DECLARE LOC1 RESULT_SET_LOCATOR VARYING;
DECLARE LOC2 RESULT_SET_LOCATOR VARYING;

CALL PD190439.BA_01(30);
ASSOCIATE RESULT SET LOCATORS (LOC1, LOC2)
WITH PROCEDURE PD190439.BA_01;
ALLOCATE C1 CURSOR FOR RESULT SET LOC1;
OPEN C1;

Данных на выходе нет . Курсор пуст. Почему ?
...
Рейтинг: 0 / 0
Вызов хранимой процедуры DB2 из другой ХП
    #34100096
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Потому что эти команды предназначены для обработки курсора в вызывающей процедуре.
Если надо, чтоб курсор выдавался из внутренней процедуры наружу (клиенту), надо делать так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
CREATE PROCEDURE T1()
LANGUAGE SQL
DYNAMIC RESULT SETS  1 
BEGIN
  DECLARE C1 CURSOR WITH RETURN TO CLIENT FOR
   SELECT * FROM SYSIBM.SYSDUMMY1;
  OPEN C1;
END@

CREATE PROCEDURE T2()
LANGUAGE SQL
DYNAMIC RESULT SETS  1 
BEGIN
  CALL T1();
END@
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Вызов хранимой процедуры DB2 из другой ХП
    #35270045
Николаха
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т.е. как я понял, если процедура возвращает какой-то курсо (Набор данных) его никак нельзя получить в вызываемой процедуре??
...
Рейтинг: 0 / 0
Вызов хранимой процедуры DB2 из другой ХП
    #35270475
чя321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет читай внимательно документацию
...
Рейтинг: 0 / 0
Вызов хранимой процедуры DB2 из другой ХП
    #35275891
Николаха
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
чя321Нет читай внимательно документацию

Всё, спасибо я понял!
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Вызов хранимой процедуры DB2 из другой ХП
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]