RE: Como pasar los datos de un campo de x tabla .

From: Lazaro Rubén García Martinez <lgarciam(at)vnz(dot)uci(dot)cu>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: Miguel Angel <angelmarqui(at)gmail(dot)com>, Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Como pasar los datos de un campo de x tabla .
Date: 2012-02-03 02:13:20
Message-ID: 294D3D02D5E18D42827B2ECFEADEB688231F7D7DD0@mx-interno.vnz.uci.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Alvaro muchas gracias por tu anotación, ya estuve viendo la otra variante.

Saludos.

-----Mensaje original-----
De: Alvaro Herrera [mailto:alvherre(at)alvh(dot)no-ip(dot)org]
Enviado el: jueves, 02 de febrero de 2012 21:11
Para: Lazaro Rubén García Martinez
CC: Miguel Angel; Ayuda
Asunto: RE: [pgsql-es-ayuda] Como pasar los datos de un campo de x tabla .

Excerpts from Lazaro Rubén García Martinez's message of jue feb 02 20:16:38 -0300 2012:

> Y ejecuta el siguiente script si usas PostgreSQL 9, de lo contrario crea una función y dentro pones ese contenido:
>
> DO LANGUAGE 'plpgsql'
> $$
> DECLARE
> iterator INTEGER;
> valor_ VARCHAR;
> BEGIN
> FOR iterator, valor_ IN SELECT table1.pk_tabla1, table1.valor FROM table1
> Loop
> UPDATE table2
> SET
> valor = valor_
> WHERE pk_tabla1 = iterator;
> END Loop;
> END
> $$

Es mucho más simple:

update table2
set valor = table1.valor
from table2 where pk_tabla2 = table1.pk_table1;

O algo similar. No necesitas un FOR LOOP.

Cada vez que usas un cursor cuando podrías hacer un join, las
autoridades encarcelan un gatito de por vida.

--
Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Kernel 2012-02-03 07:06:38 Re: Error con la funcion crosstab
Previous Message Alvaro Herrera 2012-02-03 01:41:22 RE: Como pasar los datos de un campo de x tabla .