powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Вызов хранимой процедуры DB2 из Java
5 сообщений из 30, страница 2 из 2
Вызов хранимой процедуры DB2 из Java
    #33750775
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CREATE PROCEDURE TEST(IN C VARCHAR( 20 )) 
DYNAMIC RESULT SETS  1 
BEGIN 
 DECLARE TN VARCHAR( 50 );
 DECLARE C1 CURSOR WITH HOLD WITH RETURN FOR
 SELECT SUBSTR(TABNAME,  1 ,  50 ) AS TABNAME
 FROM SYSCAT.TABLES
 WHERE TABSCHEMA='SYSCAT' AND TABNAME LIKE TEST.C;
 OPEN C1;
 --FETCH C1 INTO TN;
END@
Сделайте
Код: plaintext
call test('%TABLE%')
Раскомментируйте
Код: plaintext
FETCH C1 INTO TN
Пересоздайте процедуру, сделайте тот же вызов и сравните результаты.
...
Рейтинг: 0 / 0
Вызов хранимой процедуры DB2 из Java
    #33751107
power-baa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark Barinstein
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CREATE PROCEDURE TEST(IN C VARCHAR( 20 )) 
DYNAMIC RESULT SETS  1 
BEGIN 
 DECLARE TN VARCHAR( 50 );
 DECLARE C1 CURSOR WITH HOLD WITH RETURN FOR
 SELECT SUBSTR(TABNAME,  1 ,  50 ) AS TABNAME
 FROM SYSCAT.TABLES
 WHERE TABSCHEMA='SYSCAT' AND TABNAME LIKE TEST.C;
 OPEN C1;
 --FETCH C1 INTO TN;
END@
Сделайте
Код: plaintext
call test('%TABLE%')
Раскомментируйте
Код: plaintext
FETCH C1 INTO TN
Пересоздайте процедуру, сделайте тот же вызов и сравните результаты.

А зачем тогда нужны выходные параметры, если и так весь набор данных на
клиента передаётся ?
...
Рейтинг: 0 / 0
Вызов хранимой процедуры DB2 из Java
    #33751135
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
power-baaА зачем тогда нужны выходные параметры, если и так весь набор данных на
клиента передаётся ?

Если ваша задача - вернуть только набор данных клиенту, то - они вам не нужны вообще.
...
Рейтинг: 0 / 0
Вызов хранимой процедуры DB2 из Java
    #33751177
power-baa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark Barinstein power-baaА зачем тогда нужны выходные параметры, если и так весь набор данных на
клиента передаётся ?

Если ваша задача - вернуть только набор данных клиенту, то - они вам не нужны вообще.

Я раньше работал с InterBase. Так там выходные параметры для того и предназначались, чтоб клиенту набор данных вернуть.
А в DB2 они для чего ?
...
Рейтинг: 0 / 0
Вызов хранимой процедуры DB2 из Java
    #33751299
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
power-baaЯ раньше работал с InterBase. Так там выходные параметры для того и предназначались, чтоб клиенту набор данных вернуть.
А в DB2 они для чего ?
Для возврата скалярных (одиночных) значений.
Наборы данных (если надо) возвращаются отдельно.
Их максимальное кол-во указывается в предложении
Код: plaintext
dynamic result sets n
И чтобы вернуть набор, надо сделать open курсору, не закрывая его и не делая fetch из него, если, конечно, это не требование задачи - вернуть не все строки набора клиенту.
...
Рейтинг: 0 / 0
5 сообщений из 30, страница 2 из 2
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Вызов хранимой процедуры DB2 из Java
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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