- Blogzote.com - https://www.blogzote.com -

Registros duplicados en Oracle

Como suele pasar, se me olvido crear la llave primaria para una tabla, resultando que se insertaran registros duplicados en ella, ahora, ¿Cómo los elimino? Muy fácil, encontré, rascándole a google, una instrucción estándar para borrar registros duplicados:

delete from tabla
 where rowid not in
            (select min(rowid)
               from tabla
              group by columna1, columna2, columna3...);

Donde por supuesto “tabla” es el nombre de la tabla y “columna1″, “columna2″, etc. Es la llave que identifica a cada registro.