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
_________________________________________________________________