Siempre puedes saber las claves de los ficheros mediante el acceso a la metainformación de la tabla.
Con java o similar es muy sencillo. Saludos, _____ De: [email protected] [mailto:[email protected]] En nombre de Juan Carlos xxxxxxxxxxxxxxxxx Enviado el: viernes, 25 de marzo de 2011 12:36 Para: [email protected] Asunto: RE: Registros duplicados en SQL Pero lo que no conozco son los campos claves, ya que al hacerlo de forma generica para varios ficheros, cada uno puede tener sus propias claves. Entiendo que en el NOT IN tengo que hacer la union por los campos claves. Lo ideal sería que existiera algo que en lugar de poner nombres de campos se pudiera poner "*", sin tener que estar numerandolos. _____ From: [email protected] To: [email protected] Subject: RE: Registros duplicados en SQL Date: Fri, 25 Mar 2011 11:31:25 +0100 Si te da clave duplicada al insertar, entiendo que lo que puedes hacer es insertar sólo los que no estén. Puedes mirarlo antes con un not in y los que no estén los insertas. De: [email protected] [mailto:[email protected]] En nombre de Juan Carlos xxxxxxxxxxxxxxxxx Enviado el: viernes, 25 de marzo de 2011 10:37 Para: [email protected] Asunto: RE: Registros duplicados en SQL He probado esto que me comentas, y me sigue dando clave duplicada. El motivo es que los registros duplicados NO los tengo en tabla 1, sino que en tabla 2 ya hay algunos registros y estos pueden coincidir o no en clave con los de la tabla1. En caso de que coincidan, es cuando me da el error de clave duplicada y se para el proceso para el resto de registros de la instuccion INSERT. Yo lo que quiero es que siga continuando insertando para aquellos que no den clave duplicada. _____ From: [email protected] To: [email protected] Subject: RE: Registros duplicados en SQL Date: Fri, 25 Mar 2011 09:30:29 +0100 Buenas, Para poder hacerlo sin las claves, independientemente de si las tablas tienen clave o no y para todos los campos, puedes hacerlo así: Insert into tabla2 (select * from tabla1 union select * from tabla1) Aunque parezca extraño, el unión descarta los repes. Saludos !!! José Luis José Luis Moreno Rodríguez | Project manager SC Trade Technologies Caballero, 48 bajos 08014 Barcelona T +34 902 48 11 10 | F +34 93 490 28 21 M 679 193 144 [email protected] <mailto:[email protected]> | <http://exchange.mail.gec.es/owa/redir.aspx?C=15506c5d4d6c46128a489f2528fce4a2&URL=http://www.gec.es/> www.sctrade.es De: [email protected] [mailto:[email protected]] En nombre de Juan Carlos xxxxxxxxxxxxxxxxx Enviado el: viernes, 25 de marzo de 2011 8:39 Para: [email protected] Asunto: RE: Registros duplicados en SQL Me imagino que con "x" e "y" te estas refiriendo a los campos claves de uno y otro fichero. Mi problema es que no conozco cuáles son los campos claves de las tablas, porque quiero hacer de forma generica, que la instuccion me valga para cualquier fichero, sin tener que ir especificacndo las claves en la instuccion. _____ From: [email protected] To: [email protected] Subject: RE: Registros duplicados en SQL Date: Thu, 24 Mar 2011 14:27:47 +0000 Ya probaste así? Insert into tabla UNO Select ..... from tabla DOS Where Not exists (Select .... from tabla UNO where x = y) Es solo una idea... Saludos!! _____ From: [email protected] To: [email protected] Subject: Registros duplicados en SQL Date: Thu, 24 Mar 2011 13:33:37 +0000 Hola a todos. Necesitaría insertar unos registros con SQL en una tabla B a partir de otra tabla A. Pero me da error de registros duplicados porque algunos ya existen. Lo que yo quisiera es que aquellos que NO den clave duplicada insertarlos y los que den clave duplicada no insertarlos, pero que no se interrumpa el proceso del INSERT. El problema lo tengo en que quiero hacerlo de forma genérica que me valga para varios ficheros y cada uno de ellos pueden tener claves distintas, de forma que no puedo indicar en la sentencia SQL los campos claves. ¿Se os ocurre alguna forma de hacerlo? Gracias de antemano. Saludos. ____________________________________________________ �nete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 � Publicaciones Help400, S.L. ____________________________________________________ �nete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 � Publicaciones Help400, S.L. ____________________________________________________ �nete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 � Publicaciones Help400, S.L. ____________________________________________________ �nete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 � Publicaciones Help400, S.L.
____________________________________________________ Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 © Publicaciones Help400, S.L.

