Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Informix [игнор отключен] [закрыт для гостей] / использование значения функции в условии in / 1 сообщений из 1, страница 1 из 1
18.01.2005, 15:26
    #32870377
genix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
использование значения функции в условии in
Есть функция, которая возвращает список значений в соответствии с заданной логикой (возвращает числа (INT) в цикле foreach).

Если сделать execute function get_divs_id(), то функция работает вроде правильно (возвращает верные значения):


(expression)

23
24
25
26
27


А вот как теперь значение этой функции использовать в SQL запросе, что-то не соображу?

Пытаюсь выполнить select * from divisions where id in get_divs_id()

а в получаю ошибку "Right hand side of IN expression must be a COLLECTION type." А как правильно сделать этот самый тип?

Функция простая:

CREATE FUNCTION get_divs_id() RETURNING INT;
DEFINE aDivision INT;
DEFINE aRecDiv INT;

FOREACH cursor1 FOR
SELECT div_id INTO aDivision FROM divisions
WHERE chief_id=get_id()
RETURN aDivision WITH RESUME;

FOREACH cursor2 FOR
SELECT div_id INTO aRecDiv FROM divisions
WHERE parent_id=aDivision
RETURN aRecDiv WITH RESUME;
END FOREACH;
END FOREACH;
END FUNCTION;


Да, речь идет о SPL!
Заранее благодарен
...
Рейтинг: 0 / 0
Форумы / Informix [игнор отключен] [закрыт для гостей] / использование значения функции в условии in / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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