У меня есть функция plpg sql, которая возвращает таблицу со столбцом id и представляет все вставленные данные внутри функции. что-то вроде этого:
create or replace function se_initial_games("tournamentId_" bigint)
returns table(
"gameId" bigint
) as $$
declare
n_teams bigint;
begin
return query
insert into single_elimination_tournaments_games (team_one_id, team_two_id, tournament_id)
(select ...) returning id;
end;
$$ language plpgsql;
Возвращает результаты при запуске
select "gameId" from se_initial_games(1);
, но не, если я использую его в подзапросе, например:
select g.* from games g where g.id in (select "gameId" as id from se_initial_games(1));
Что-то говорит Результаты функции me после прочтения таблицы игр.
Проблема заключается в том, что результаты запроса select g.* from games g g.id
не включают вновь вставленные идентификаторы из in
подзапроса.
Я закончил писать 2 запросы для этого.