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
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 |