Re: Funciones que retornan tuplas calculadas

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Jaime Casanova <systemguards(at)gmail(dot)com>
Cc: Edwin Quijada <listas_quijada(at)hotmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Funciones que retornan tuplas calculadas
Date: 2007-05-25 22:21:52
Message-ID: 20070525222152.GD24789@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Jaime Casanova escribió:
> On 5/25/07, Edwin Quijada <listas_quijada(at)hotmail(dot)com> wrote:
> >Hola!
> >Tengo el sigte problema con una funcion que quiero retornar una tupla:
> >create table foo
> >( a int,
> > b int,
> > c int,
> > fecha timestamp )
> >
> >
> >Select a-b as GG, b-c as DD, (a-b)/c as SS, (a+b+c)/c as RR
> >from foo
> >where
> >fecha = date
> >
> >este select lo hago con sum porque quiero los valores totales de cada caso.
> >Mi pregunta es quiero hacer una funcion que me dichos valores en una tupla
> >o
> >varias y poder retornarlos. EL problema es que no se que retornar .
> >He leido las funciones sql con setof pero estas retornar valores de una
> >tabla pero si yo quiero retornar solo un sibconjunto de esas columnas no se
> >como hacerlo porque el SETOF ya no es igual a la tabla.
> >
>
> setof record

La clave es que al llamar la funcion tienes que hacer

select * from funcion() as (a int, b text, c timestamp, ...)

con el mismo tipo que declaras en la funcion.

Ojo, que desde 8.1 puedes usar parametros OUT, lo cual hace todo esto
bastante mas facil.

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Gabriel Hermes Colina Zambra 2007-05-25 23:05:14 Re: Instalar POSTGRESQL en Windows XP SP2
Previous Message Jaime Casanova 2007-05-25 22:16:59 Re: Funciones que retornan tuplas calculadas