假设我们有一张简单的桌子
create table a (id serial, data text);
和以下功能:
create or replace function f()
returns SETOF int As
$BODY$
DECLARE
l_arr int[];
BEGIN
insert into a(data)
values ('a')
returning array_agg(data) into l_arr; --THIS DOES NOT WORK
RETURN l_arr;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE SECURITY DEFINER
COST 100
如何在同一个 SQL 语句中将插入的值收集到一个数组中?