| From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> | 
|---|---|
| To: | Lazaro Rubén García Martinez <lgarciam(at)vnz(dot)uci(dot)cu> | 
| 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 01:41:22 | 
| Message-ID: | 1328232986-sup-8074@alvh.no-ip.org | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-es-ayuda | 
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>
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Lazaro Rubén García Martinez | 2012-02-03 02:13:20 | RE: Como pasar los datos de un campo de x tabla . | 
| Previous Message | Lazaro Rubén García Martinez | 2012-02-03 01:28:47 | RE: Como pasar los datos de un campo de x tabla . |