powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / RETURNS TABLE
4 сообщений из 4, страница 1 из 1
RETURNS TABLE
    #36530691
RTYi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как можно реализовать такую функцию в db2?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
CREATE FUNCTION ff (@g INTEGER)
RETURNS @tb1 TABLE (IDUser INT)
BEGIN
INSERT @tb1 (IDUser) VALUES (@g)
WHILE EXISTS ( select  1  from tb2 inner join @tb1 bb on tb2.IDUser = bb.IDUser)
delete from @tb1 where IDUser is null
return
end

Делаю через TEMPORARY TABLE, но что-то не выходит:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
CREATE FUNCTION ff(g INTEGER)
RETURNS TABLE(
   IDUser INTEGER)
BEGIN atomic

DECLARE GLOBAL TEMPORARY TABLE SESSION.temp_tb1 (IDUser INTEGER) on commit preserve rows not logged;

INSERT INTO SESSION.temp_tb1 (IDUser) VALUES(g);

   WHILE EXISTS(select  1  from tb2 inner join SESSION.temp_tb1 bb on tb2.IDUser = bb.IDUser) DO
      delete from SESSION.temp_tb1 where IDUser is null;
   END WHILE;
   return Select IDUser from SESSION.temp_tb1;
end
...
Рейтинг: 0 / 0
RETURNS TABLE
    #36530914
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RTYi,

Вы можете словами описать алгоритм?
...
Рейтинг: 0 / 0
RETURNS TABLE
    #36531160
RTYi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В SQL Server есть функция, которая возвращает таблицу, но прежде чем вернуть таблицу над ней происходит ряд действий, в данном случае insert и delete.

Короче говоря в SQL Server в функции возвращающей таблицу можно обращатся к возвращаемой таблице по имени (@tb1) внутри этой же функции, до ее вызова, и делать с этой таблицей все табличные операции.

Как это делать в DB2? Я подумал, что это можно реализовать с помощью временных таблиц.
...
Рейтинг: 0 / 0
RETURNS TABLE
    #36531477
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RTYiКак это делать в DB2? Я подумал, что это можно реализовать с помощью временных таблиц.Так можно в хранимой процедуре, но не в функции.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / RETURNS TABLE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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