Informix - pasar registros de una tabla a otra

 
Vista:

pasar registros de una tabla a otra

Publicado por ANNY (2 intervenciones) el 25/08/2005 01:58:11
Holas,

tengo dos tablas: la GARANTES y la CLIENTES

me pueden ayudar con la sentencia o el comando para pasar algunos registros de la tabla garantes a la clientes. o sea agregarlos a la otra tabla.

especificamente los campos : garan_cod_clien y garan_ide_clien DE la tabla GARANTES a la tabla CLIENTES que tiene los campos clien_cod_clien y clien_ide_clien. Ya que en esos campos de ambas tablas almacenan los mismos datos...(un codigo y el DNI ).

Ayudememe porfis

Anita
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:pasar registros de una tabla a otra

Publicado por LUIS R. (126 intervenciones) el 25/08/2005 14:58:09
abla GARANTES
( garan_cod_clien char(10),
garan_ide_clien char(10),
garan_otro_campo_1 char(1),
...,
garan_otro_campo_n char(10)
);
Tabla CLIENTES
(clien_cod_clien char(10),
clien_irde_clien char(10),
clien_otro_campo_1 char(1),
...,
clien_otro_campo_n char(1)
);

Pasar los campos garan_cod_clien char(10) y garan_ide_clien char(10) de la TABLA GARANTES a la tabla CLIENTE sin Repetir los registros que ya estan en la tabla CLIENTE.

Lo que haria es que los dos campos sean uno solo en un a tercera tabla que puede ser temporal siemper y cuando sean del mismo tipo algo asi

Tabla TEMPORAL1
( t1 char(20), el tamaño es la suma de los dos campos para GARANTES
);
Haria los mismo para CLIENTES
y luego

unload to datos.txt
select t1[1,10], t1[11,10] from TEMPORAL1
where t1 not in (select t2 from TEMPORAL2)
;
Serian los registros que debes llevar despues a CLIENTE

load from datos.txt insert into CLIENTE

Espero que entiendas la idea .

Aprovecha Esta Gran Oportunidad Te Invita (LORB)
http://www.lideresubi.com/informate
Recuerda Entrar como DT-LORB-TUNOMBRE-PAIS

http://www.ubifone.clubcaebiz.net/grabaciones.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:pasar registros de una tabla a otra

Publicado por ANNY (2 intervenciones) el 26/08/2005 15:52:53
GRACIAS, VOY A PROBAR, SI SE ME OFRECE YA TE ESCRIBO,

muakk
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:pasar registros de una tabla a otra

Publicado por ANNY (2 intervenciones) el 27/08/2005 02:16:52
Luis, gracias por tu ayuda.ç

Sabes que no me salio , me salewn tantos mensajes de error:

Esas sentencias tiengo que eejecutarlas en el DBACCESS de Informix.

Si me puede ayudar mejor estos son las tablas y los campos:

GARANTES:
garan_cod_clien
garan_ide_clien
garan_nom_clien
garan_ape_clien

CLIENTES:
clien_cod_clien
clien_ide_clien
clien_nom_clien
clien_ape_clien

los datos de la GARANTES son los mismos que se almacenan en la CLIENTES, solo que el nombre de los campos son diferentes, pero guaradan la misma informacion:

lo que necesito es insertar en la CLIENTES los registros de la GARANTES, mediante sentencias SQL de DBACCESS de informix. Si me puedes ayudar con las sentencias completas y exactas.

Disculpas

ANNY

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:pasar registros de una tabla a otra

Publicado por Jaime Arvizu (3 intervenciones) el 16/09/2005 08:49:23
Anny.

Una pregunta deseas hacer esta operacion algo asi como una migracion de datos o deseas que la insercion sea permanente? o bien las dos cosas.

Si deseas solo hacer un traspaso del contenido de Garantes hacia clientes sin importar que existan o no los registros es un simple query algo asi como esto

insert into clientes values (select * from garantes)

Asi de simple y sencillo siempre y cuando los campos sean del mismo tipo y la tabla sea la misma.

si deseas que no se repita algun cliente que ya existiera y si comodices los datos son los mismos tendras que poner un constraint o mas bien un condicional algo asi como

where client_cod_clien not in (select garant_cod_clien from garantes)

tu query quedaria algo asi como esto...

insert into clientes
values (select * from garantes where garante_cod_clien not in
(select client_cod_clien from garantes))

Te recomiendo que hagas un unload de las dos tablas antes de hacer cualquier prueba, para que tengas un respaldo de tus datos.

Ahora que si lo que deseas es que cada que ingreses un registro nuevo o actualices un registro en cualquiera de las dos tablas estas se sincronicen automaticamente te recomendaria la creacion de un trigger, prueba esta solucion y espero te funcione si deseas poner el trigger me avisa he intentamos hacerlo.

Saludos.!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:pasar registros de una tabla a otra

Publicado por Gabriela (15 intervenciones) el 25/08/2005 15:58:31
Segun te entiendo si quieres insertar datos de una tabla a otra si la tabla de clientes solo tiene esos campos seria asi

Insert into CLIENTES
Select garan_cod_clien,garan_ide_clien
From GARANTES
Where ..........

Sino, pues lo puedes hacer barriendo la tabla

Declare c_cursor cursor for
select * from GARANTES
WHERE ............

ForEach c_cursor into cod_clien,ide_clien
Insert into Garantes values(cod_clien,ide_clien,......'','',''....) #por si tienes mas campos
End ForEach

Espero te sirva cualquier duda comentamelo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:pasar registros de una tabla a otra

Publicado por ANNY (1 intervención) el 26/08/2005 22:39:25
GRACIAS AMIGA, no pude hacer como tu me suguieres
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar