Ver Mensaje Individual
  #10 (permalink)  
Antiguo 20/05/2014, 06:35
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: order by rowid

¿No tiene ningún campo donde se use un sequence? ¿Ningun campo de fecha? ¿Nada?

Ahora bien, ¿Está consciente que cualquier DELETE/UPDATE y/o INSERT luego de un DELETE, habrá que el ordenamiento obtenido sea incorrecto, o falso?
Hay que tomar en consideración que si se borra un registro cualquiera, y luego se inserta otro, el nuevo usará el ROWID disponible desde el DELETE anterior, por lo que luego ese nuevo registro bien puede ser en realidad el último obtenido del ORDER BY ROWID, es decir, no saldrá entre los tres primeros porque su ROWID no está entre ellos, a pesar de ser el INSERT más reciente.
¿Se entiende la idea?
Eso es lo que dice expresamente el manual de Oracle:
Cita:
You should not use ROWID as the primary key of a table. If you delete and reinsert a row with the Import and Export utilities, for example, then its rowid may change. If you delete a row, then Oracle may reassign its rowid to a new row inserted later.
Sería mucho más práctico, a mi entender, crear una columna que permita ordenamiento cronológico, aunque eso implique procesar toda la tabla de nuevo.
¿Esa tabla está relacionada con alguna otra que se pueda usar de soporte para obtener el orden de entrada?
¿Podrías mostrarnos la estructura (CREATE TABLE) de la tabla en cuestión?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 20/05/2014 a las 07:04