Eficiencia en Funcion

From: Fernandos Siguenza <fsigu(at)hotmail(dot)com>
To: Foro Postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Eficiencia en Funcion
Date: 2010-01-07 21:15:16
Message-ID: SNT108-W3272F5C36A52B583BC6BAA1710@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


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.

Saludos

_________________________________________________________________

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2010-01-07 21:37:59 Re: Eficiencia en Funcion
Previous Message Ernesto Verbanaz 2010-01-07 18:28:28 RE: RV: problema con funciones que retornan cursor