On 02/02/2012 05:16 PM, Lazaro Rubén García Martinez wrote:

Acá te dejo un pequeño ejemplo:

CREATE TABLE public.table1 (

  pk_tabla1 SERIAL,

  valor VARCHAR,

  CONSTRAINT table1_pkey PRIMARY KEY(pk_tabla1)

) WITHOUT OIDS;

CREATE TABLE public.table2 (

  pk_tabla2 SERIAL,

  valor VARCHAR,

  pk_tabla1 INTEGER NOT NULL,

  CONSTRAINT table2_pkey PRIMARY KEY(pk_tabla2),

  CONSTRAINT table2_fk FOREIGN KEY (pk_tabla1)

    REFERENCES public.table1(pk_tabla1)

    ON DELETE NO ACTION

    ON UPDATE NO ACTION

NOT DEFERRABLE

) WITHOUT OIDS;

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

$$

Espero que esto te pueda servir, y sea lo que andas buscando.

Saludos.

*De:*Miguel Angel [mailto:[email protected]]
*Enviado el:* jueves, 02 de febrero de 2012 06:18:PM
*Para:* Lazaro Rubén García Martinez
*Asunto:* Re: [pgsql-es-ayuda] Como pasar los datos de un campo de x tabla .

asi es veo que se puede filtrar por su id. pero no se como seria el update o que se podria apilcar

El 2 de febrero de 2012 18:02, Lazaro Rubén García Martinez <[email protected] <mailto:[email protected]>> escribió:

O sea que pasarías el dato hacia la otra tabla, cuando el id por el cual se encuentran relacionadas coincida??

Saludos.

*De:*[email protected] <mailto:[email protected]> [mailto:[email protected] <mailto:[email protected]>] *En nombre de *Miguel Angel
*Enviado el:* jueves, 02 de febrero de 2012 06:03:PM
*Para:* [email protected] <mailto:[email protected]>
*Asunto:* [pgsql-es-ayuda] Como pasar los datos de un campo de x tabla .

Hola amigos:

Tengo un conveniente quisiera que me ayuden, se trata de un campo que tengo en una tabla y lo que quiero es pasar los datos de ese campo a otra tabla con el mismo nombre de campo.Ambas tablas tiene un id relacionado He visto en google que lo pasan con un UPDATE pero no stoy seguro , toda ayuda sera bienvenida .


--
Atte. Miguel Angel Marquina



--
Atte. Miguel Angel Marquina

Yo estoy a favor de la solución de un update:

UPDATE tabla1 t1 SET t1.campo = (SELECT t2.campo FROM tabla2 t2 WHERE t1.id = t2.id);

claro, esto suponiendo que id es único (cómo debe ser).

--
PostgreSQL and Linux tips http://sharingtechknowledge.blogspot.com/

Responder a