Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / RETURNS TABLE / 4 сообщений из 4, страница 1 из 1
19.03.2010, 13:11
    #36530691
RTYi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RETURNS TABLE
Как можно реализовать такую функцию в 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
19.03.2010, 14:08
    #36530914
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RETURNS TABLE
RTYi,

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

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

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


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