From: | "Silvio Quadri" <silvioq(at)gmail(dot)com> |
---|---|
To: | "Jose Luis Balle" <joseluisballe(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Sumar columnas calculadas |
Date: | 2008-04-30 16:59:53 |
Message-ID: | 61dc71dc0804300959p7abe1a09n796e13c9f5d7e294@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
El día 29 de abril de 2008 17:05, Jose Luis Balle
<joseluisballe(at)gmail(dot)com> escribió:
> Leete algo acerca de la definicion de las funciones porque si reciben
> los mismo valores no vuelven a ejecutarse (si no entendí mal) creo
> haber leido algo asi segun se definen como STABLE,VOLATILE, etc.
Tenés que definir como "immutable" para determinar que el
procedimiento, a igual parámetros, devolverá igual resultado.
Lamentablemente podría especificarte ahora si aplica a la ejecución o
a la confección del plan.
Silvio
>
> Saludos.
>
> 2008/4/29 Calabaza <calalinux(at)gmail(dot)com>:
>
>
> > 2008/4/29 Arturo <arturomunive(at)gmail(dot)com>:
> >
> >
> > > SELECT
> > > campo 1,
> > > campo 2,
> > > funcion1(campo3),
> > > funcion2(campo4),
> > > (funcion1(campo3) * funcion 2(campo4))
> > > FROM
> > > ...
> >
> > > donde las funciones pueden ser calculo pesado
> >
> > > Entonces yo creo que al usar asi las funciones cada una se ejecuta dos
> > > veces
> > > Mi pregunta es, existe algo como:
> >
> > > SELECT
> > > campo 1 as "R1",
> > > campo 2 as "R2",
> > > funcion1(campo3) as "R3",
> > > funcion2(campo4) as "R4",
> > > ("R3" * "R4") as "R5",
> > > FROM
> > > ...
> >
> > > Obviamente asi no funciona (si no no lo preguntaría), pero hay alguna forma
> > > de hacer eso????
> >
> > Podrias hacerlo con subconsultas, o vistas...
> >
> > Veamos:
> > Select
> > x.*,
> > (x.R3 * x.R4) as R5
> > from
> >
> > (
> > SELECT
> > campo 1 as "R1",
> > campo 2 as "R2",
> > funcion1(campo3) as "R3",
> > funcion2(campo4) as "R4"
> > from ...
> > ) as x
> >
> >
> > > Igual mientras tanto, sigo buscando por internet, si encuentro algo les
> > > aviso, si lo encuentran ustedes igual :)
> >
> > La subconsulta la puedes enviar a una vista y luego el otro select
> > sale más facil... como mejor te parezca..
> > puedes darte una vuelta por:
> >
> > http://www.postgresql.org/docs/7.4/static/queries-table-expressions.html
> >
> > Ah! ojo que el link es para la version que yo uso, tu deberías buscar
> > para la version que tú utilizas...
> >
> > Saludos!
> > --
> > §~^Calabaza^~§ from Villa Elisa, Paraguay
> > --
> > TIP 8: explain analyze es tu amigo
> >
>
>
>
> --
> Informático:
> Persona falta de recursos que, partiendo de premisas falsas y de
> especificaciones inconsistentes e incompletas, dirigido por
> incompetentes y utilizando herramientas que no funcionan es capaz de
> iniciar un proyecto de dudoso éxito realizando una obra de arte que
> ,por supuesto, es cara y no tiene otro fin que dar prestigio a la
> empresa que ha contratado sus servicios.
> --
> TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podrá leerlo
>
--
Silvio Quadri
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2008-04-30 18:00:50 | Re: Sumar columnas calculadas |
Previous Message | Alvaro Herrera | 2008-04-30 15:58:17 | Re: Transacciones en PG |