Re: Sentencia DML dinamica.

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Daniel Orozco <daniel(dot)orozco(dot)jaramillo(at)gmail(dot)com>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Sentencia DML dinamica.
Date: 2010-10-26 16:44:17
Message-ID: 1288110884-sup-613@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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 <alvherre(at)commandprompt(dot)com>
The PostgreSQL Company - Command Prompt, Inc.
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Daniel Orozco 2010-10-26 17:04:43 Re: Sentencia DML dinamica.
Previous Message Daniel Orozco 2010-10-26 16:08:22 Re: Sentencia DML dinamica.