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) -- TIP 2: puedes desuscribirte de todas las listas simultáneamente (envía "unregister TuDirecciónDeCorreo" a [email protected])
