Creeme que si hay mejores maneras de hacer las cosas, optaré por ellas.
Analizaré bien tu respuesta y miraré si es una posible solución.

Te agradezco mucho alvaro.


El 26 de octubre de 2010 11:44, Alvaro Herrera
<alvhe...@commandprompt.com>escribió:

> Excerpts from Daniel Orozco's message of mar oct 26 13:08:22 -0300 2010:
>
> > Tengo un cursor
> > cur_0 CURSOR FOR
> > SELECT
> > fec_clima,
> > bri_sol_clima,
> > tem_max_clima,
> > tem_min_clima,
> > tem_med_clima,
> > pre_clima,
> > hum_rel_clima,
> > evento_clima
> > FROM clima
> > WHERE cod_estacion=codigo_estacion;
> >
> > que me debe recorrer registro por registro e identificar en que celda
> existe
> > un dato faltante. (Yo los he marcado como -99)
>
> Creo que hay dos problemas acá.  El primero es que el modelo parece no
> ayudarte mucho.  El segundo es que estás recorriendo un cursor e
> iterando un registro cada vez.
>
> Me parece que todo esto sería mucho más sencillo si escribieras esta
> enorme función como si fuera un UPDATE con un join.  Creo que se podría
> hacer un solo UPDATE que cambiara los valores (o quizás no, pero no
> creo).  Para pasarle los valores de t_enero_nino y demás, podrías usar
> un SELECT que entregue todos los números de meses y el resultado de
> markov_benerar_datos para cada uno.
>
> (Pensándolo bien, el resultado final no sería “sencillo”.  Pero podrías
> lograr cada paso en forma sencilla, y luego encadenar varios pasos
> sencillos para conseguir un resultado final complejo).
>
> Si ya lo tienes hecho con LOCAL TEMPORARY TABLE, supongo que es
> suficiente para ti y no querrás ocasionarte trabajo extra.  Respecto del
> comportamiento de TEMP TABLE que estás viendo, no me parece que sea un
> bug.
>
> --
> Álvaro Herrera <alvhe...@commandprompt.com>
> The PostgreSQL Company - Command Prompt, Inc.
> PostgreSQL Replication, Consulting, Custom Development, 24x7 support
>



-- 
Daniel Orozco Jaramillo
Ing. Sistemas y Telecomunicaciones
OCE (Oracle Certified SQL Expert)

Responder a