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.
Lo realiza, pero me he encontrado con un problemilla, si están duplicados más de una vez, no elimina todos...
ResponderEliminarAlguna idea?
http://www.vertutoriales.com
Pues ahora si lo ha hecho bien :S
ResponderEliminarGracias de todas formas :D
Muy bueno ami me sirvio un monton, esos si creo que le falto un parentesis
ResponderEliminarHolas amigos soy nuevo en el estudio de Oracle y quisiera su ayuda.
ResponderEliminarTengo oracle 11.2 en windows 7 64bits.
he creado dos instancias osea una llamada orcl y orcl2 y estoy tranatando de realizar un EXPDP para trasladar un tablespaces (datafile)lo que he realizado es lo siguiente:
c:EXPDP sys/manager TRANPORT_TABLESPACES=T1;
Este me crea el archivo EXPDAT.DMP en la ruta: C:\app\Evandro\admin\orcl\dpdump\
y para importarlo:
c:IMPDP sys/manager DUMPFILE=EXPDAT.DMP TRANSPORT_DATAFILES='C:\app\Evandro\oradata\orcl\T1.DBF'
Esta ejecucion me recupera el DATAFILE en la misma bd orcl, mi pregunta es como hacer para importar el DATAFILE a la bd orcl2.
Mil Gracias, por su Ayuda
Bien, por lo que veo parece ser que tu ambiente sigue apuntando a la instancia ORCL cuando realizas el expdp.
ResponderEliminarIntenta lo siguiente, una vez hecho el expdp, cambia la variable de entorno ORACLE_SID a ORCL2, y luego ejecuta el impdp.
Para cambiar ORACLE_SID:
set ORACLE_SID=orcl2
Gracias por tu comentario.
muchas gracias, era justo lo que necesitaba :D
ResponderEliminar