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])

Responder a