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