powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Получение результата из множественного вызова функции, возвращающей таблицу.
2 сообщений из 2, страница 1 из 1
Получение результата из множественного вызова функции, возвращающей таблицу.
    #39525150
deadka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток.

Исходные данные: есть таблица t(id int primary key).
Есть функция f(id int), которая возвращает таблицу из двух полей, количество возвращаемых строк неизвестно.

Нужно получить все таблицы, которые возвращает функция f, объединенные в одну таблицу.

Вижу два варианта:

1) SELECT t.id, m.f1, m.f2 FROM t JOIN f(t.id) AS m ON 1 = 1;

2) хранимка, в которой курсором пробегаем по таблице t, нужное количество раз вызываем f и добавляем результат к возвращаемому массиву.

В 9.6 join-овый отработал быстрее.

Нет ли идей/инфы насчет best pratices подобной задачи?

Заранее спасибо.
...
Рейтинг: 0 / 0
Получение результата из множественного вызова функции, возвращающей таблицу.
    #39525155
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
deadka,

Мне кажется LATERAL джойн с функцией (ваш #1 вариант) тут уместнее.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Получение результата из множественного вызова функции, возвращающей таблицу.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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