Я пытаюсь написать функцию, которая получает массив идентификаторов (posts
),
и вставьте их все в другой стол (offer
).
Мне нужны идентификаторы из вновь созданных строк (offers
) для дальнейшей обработки позже.
Я получаю ошибку, используя WITH
create function foo (post_ids text[])
returns text[]
as $$
with
offer_ids as (insert into app.offer (user_email, post_id)
values ('a@a.com', unnest(foo.post_ids))
returning id),
...
select array_agg(id) from offer_ids;
$$ language sql security definer;
Error
ERROR: more than one row returned by a subquery used as an expression
Как я могу вернуть несколько строк из WITH
и использовать его позже?