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)