Record with a field consisting of table rows

Поиск
Список
Период
Сортировка
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
$$;





В списке pgsql-general по дате отправления:

Предыдущее
От: Andrew Sullivan
Дата:
Сообщение: Re: Case Sensitivity
Следующее
От: Christian Walter
Дата:
Сообщение: Re: Optimal settings for embedded system running PostgreSQL