Re: Record with a field consisting of table rows

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Jon Smark <jon(dot)smark(at)yahoo(dot)com>
Cc: Alban Hertroys <dalroi(at)solfertje(dot)student(dot)utwente(dot)nl>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-general(at)postgresql(dot)org
Subject: Re: Record with a field consisting of table rows
Date: 2011-01-14 16:43:38
Message-ID: AANLkTin5an0MC8-z-6wfT7KrquMpM4r1OAAT7GsJQUb6@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

2011/1/14 Jon Smark <jon(dot)smark(at)yahoo(dot)com>:
> Hi,
>
> This thread has veered off-topic, but my original problem still remains.
> Basically, I want to declare a function that returns a tuple consisting
> of an integer and a set of table rows.  Something like the following:
>
> CREATE FUNCTION foobar () RETURNS (int4, SETOF users)
>

you have to use a array

CREATE FUNCTION foo(... OUT total int, OUT _users users[])

there are no other way

Regards

Pavel Stehule

> Now, if I understand correctly, the only way to have a function return
> a tuple is to create a named record and have the function return that
> record:
>
> CREATE TYPE page_t AS
>  (
>  total  int4
>  users  SETOF users
>  )
>
> Which is of course not grammatical.  So, how does one solve this problem
> in PL/pgSQL?
>
> Thanks in advance!
> Jon
>
>
>
>
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Vick Khera 2011-01-14 16:49:33 Re: Question about concurrent synchronous and asynchronous commits
Previous Message Ing. Yunior Mesa Reyes 2011-01-14 15:36:42 Oferta de un nuevo Entrenamiento en el marco del Tercer PGDay Latinoamericano.