Hi,
I am trying to create a PL/pgSQL function whose return type is a tuple
consisting of an integer and a list of table rows. I emulate the tuple
by defining a record 'page_t' with the two fields; however, the naïve
approach of doing a SELECT INTO one the record's fields does not work
(see function 'get_page') below. Am I missing something obvious here?
Thanks in advance!
Jon
create table users
(
uid int4 not null,
name text not null,
age int4 not null,
primary key (uid)
);
create type user_t AS
(
uid int4,
name text,
age int4
);
create type page_t AS
(
total int4,
users user_t[]
);
create function get_page ()
returns page_t
language plpgsql as
$$
declare
_page page_t;
begin
_page.total := select count (*) from users;
select * into _page.users from users limit 10;
return _page;
end
$$;