martes, 14 de agosto de 2012

Eliminar registros duplicados en Oracle


Si por algún motivo insertaron registros duplicados de una tabla, ya sea porque han eliminado la clave primaria o ni siquiera la han creado y ahora la consideran necesaria; por aquí les dejo una sentencia que los puede ayudar a eliminar esos registros innecesarios:

delete from tabla
where rowid not in
(select min(rowid)
from tabla
group by (col_pk1, col_pk2, col_pk3...));

Donde tabla indica la tabla en cuestión y las col_pkn son las columnas que forman la primary key.

No hay comentarios:

Publicar un comentario