Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-10-2003
Avatar de Adrian Murua
Adrian Murua Adrian Murua is offline
Miembro
 
Registrado: oct 2003
Ubicación: Tucuman - Argentina
Posts: 45
Poder: 0
Adrian Murua Va por buen camino
Borrar registros duplicados.

Hola Amigos :

Deseo saber como podria borrar los registros duplicados de una tabla en interbase 6.01, que por un error en el codigo Delphi que realice se insertaron dos veces cada uno de los registros.

desde ya muchas gracias.
__________________
Adrián Murúa.
Responder Con Cita
  #2  
Antiguo 06-10-2003
Kafu Kafu is offline
Miembro
 
Registrado: may 2003
Ubicación: Bilbao
Posts: 117
Poder: 21
Kafu Va por buen camino
No se me ocurre una forma de hacerl con sentencia sql.
Desde Delphi es sencillo. Un bucle recorriendo la tabla, recoges en una variable el identificador de registro, que puede ser más de un campo, no lo sé. Saltas un registro y comparas. Mientras sea igual a lo recogido en variable borras. Cuando cambia lo vuelves a recoger en variable, y lo mismo. Si tengo un rato te paso algo de código. Un saludo,

F.T.G.
Responder Con Cita
  #3  
Antiguo 06-10-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
En este hilo di una solución para Oracle, no se si te servirá pero te puede dar una idea.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #4  
Antiguo 07-10-2003
Avatar de Adrian Murua
Adrian Murua Adrian Murua is offline
Miembro
 
Registrado: oct 2003
Ubicación: Tucuman - Argentina
Posts: 45
Poder: 0
Adrian Murua Va por buen camino
Gracias por la respuesta , la verdad que estuve preguntando y pude solucionarlo de la siguiente manera :

1) Crear una tabla temporal similar a la tabla que contiene los repetidos(i.e. si se llama Cuotas podemos crear Cuotas1.).

2) pasar los registros de la base Cuotas a Cuotas1 (Todos) con algo como :

insert into Cuotas1 select * from Cuotas

3) Borrar todos los datos de la tabla original Cuotas.

Delete from cuotas.

4 ) Insertar los registros no repetidos desde la base auxiliar (Cuotas1) a la base original (Cuotas). con :

insert into Cuotas select Distinct * from Cuotas1.

5) Eliminar la base auxiliar Cuotas1.

Bueno, espero que esto pueda ser util para quien lo necesite.

desde ya muchas gracias.
__________________
Adrián Murúa.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 10:04:04.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi