Ver Mensaje Individual
  #9  
Antiguo 23-12-2012
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Reputación: 19
olbeup Va camino a la fama
Cita:
Empezado por AzidRain Ver Mensaje
oldbeup, esos campos no le sirven a nuestro amigo pues no indican el orden temporal en que se añaden los registros, es decir, solo indican la secuencia que siguen pero nada impide que primero añadas las claves en diferente momento, por ejemplo digamos que el campo IDCLIENTE sea la clave principal (e incluso puede ser autoincrementada).

Código SQL [-]
INSERT INTO CLIENTES SET IDCLIENTE=3;
       INSERT INTO CLIENTES SET IDCLIENTE=2;
       INSERT INTO CLIENTES SET IDCLIENTE=1;
Son sentencias totalmente válidas y no viola los índices, por lo que hal hacer un
Código SQL [-]
  SELECT * FROM CLIENTES;

Obtenemos:
Código SQL [-]
----IDCLIENTE----
       1
       2
       3
-----------------

Lo cual es correcto de acuerdo con la clave de la clave primaria, pero no es el orden en que fueron insertados los registros. Otra solución es no usar una clave primaria y utilizar índices de esta forma teóricamente al ejecutar la misma sentencia "select * from" obtendriamos tal y como fueron insertados, pero de nuevo, no hay garantía de que sea real
Hola AzidRain,

Perdona que discrepe, pero si tiene un campo definido como IDENTITY que es autoincremental, ya tienes el orden de como se metieron, porque tú no puedes manipular un IDENTITY a menos que lo desactives.

Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.
Responder Con Cita