Re: Eficiencia en Funcion

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Fernandos Siguenza <fsigu(at)hotmail(dot)com>
Cc: Foro Postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Eficiencia en Funcion
Date: 2010-01-07 21:37:59
Message-ID: 20100107213759.GG4315@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Fernandos Siguenza escribió:
>
> Amigos como estan, queria consultarles una duda que tengo, estoy creando una funcion, la cual me retorna varios registros, la consulta es mas o menos la siguiente, tengo que retornar el listado de todos los clientes a los que se les ha vendido en el mes, cuanto se les ha vendido etc etc, ademas tengo que retornar todos los abonos que han hecho los clintes en el mismo mes total abonado etc etc, y ademas de llenar algunos campos que estan referenciados a otras tablas, vendedor, ciudad, codigo de retencion etc etc, lo cual no es posible hacerlo en un solo select, entonces lo que hago es crear una tabla temporal con los campos que quiero que retorne en el resultado , luego hago el select de todas la ventas que he tenido en el mes y las recorro con un loop y hago los calculos que tengo que hacer hago los select que tengo que hacer de uno en uno por ejemplo para tener los datos del vendedor
>
>
>
> select into vVendedor vennom from vendedor where vencod=rventas.vencod;
>
> y asi para todos los campos que necesito, luego que tengo todo compruebo si ya esta insertado ya el registro del cliente en la tabla temporal con un select si hay actualizo los datos caso contrario hago un update en la tabla temporal y voy actualizando los datos para obtener el resultado, al final hago un select de toda la tabla temporal en un cursor y de ahi retorno los valores, pero no se muy bien si seria la forma correcta de realizarlo queria apelar a su experiencia a ver si me ayudan a vercomo deveria ser la forma ideal de hacer este tipo de funciones.

Por favor lee lo que escribiste. Después vuelve a escribirlo, poniendo
algún que otro punto seguido, y separando en párrafos. Después lo
imprimes, se lo pasas a tu hermano y si puede leerlo de corrido sin
quedarse sin aliento, nos lo envías.

--
Alvaro Herrera Vendo parcela en Valdivia: http://rie.cl/?a=255568
"Aprender sin pensar es inútil; pensar sin aprender, peligroso" (Confucio)

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Hernan Carrillo 2010-01-07 22:32:33 Migracion Informix-Postgres
Previous Message Fernandos Siguenza 2010-01-07 21:15:16 Eficiencia en Funcion