Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Registros no se insertan al final de la tabla

Estas en el tema de Registros no se insertan al final de la tabla en el foro de SQL Server en Foros del Web. Hola. No estoy segura de estar en el tema correcto. Si no es asi favor de reacomodarme. Tengo una aplicacion en VB2010 donde inserto registros ...
  #1 (permalink)  
Antiguo 31/01/2013, 18:22
 
Fecha de Ingreso: junio-2008
Mensajes: 11
Antigüedad: 15 años, 10 meses
Puntos: 0
Pregunta Registros no se insertan al final de la tabla

Hola.

No estoy segura de estar en el tema correcto. Si no es asi favor de reacomodarme.

Tengo una aplicacion en VB2010 donde inserto registros en una tabla usando SQL. Utilizo el SQL Express 2008.

Hasta la insercion del registro numero 128 todo va bien pero al insertar el registro numero 129 no se inserta al final de la tabla si no debajo del registro 100 y a partir de ahi todos los demas registros que inserte. (No escribí ninguna instruccion para ubicar la insercion del archivo, solo un simple INSERT).

A alguien le ha pasado algo similar?

Gracias.
  #2 (permalink)  
Antiguo 01/02/2013, 09:00
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Registros no se insertan al final de la tabla

Una tabla de base de datos no se ordena por orden de llegada, sino por su PK. Y de todos modos, tampoco se muestra necesariamente por orden de llegada, sino en función de cómo se haga la consulta.
En definitiva: Sin conocer cómo es la estructura declarada de la tabla (el CREATE TABLE), y cómo es la consulta usada, es muy difícil decirte si realmente hay un "error" o es una interpretación incorrecta del problema.
Para que se aclare: La PK es la que determina el orden físico de los registros en la tabla, pero si la consulta aplica otro... pues ese es el que vale.
Hay que ver las dos cosas.

Muéstranos ambas y veremos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 01/02/2013, 11:04
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Registros no se insertan al final de la tabla

Como bien comenta GNZSOLOYO, no existe un "orden" especifico en las tablas, aunque no comparto con el, que la PK sea la que "ordena" de alguna manera los registros.

La PK, para lo único que nos sirve, es para hacer ÚNICOS los registros y por ende, poder implementar la integridad referencial.
__________________
MCTS Isaias Islas
  #4 (permalink)  
Antiguo 01/02/2013, 12:56
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Registros no se insertan al final de la tabla


Si yo mal no recuerdo, un indice primario en SQL Server es un indice cluster y como tal determina el orden de almacenamiento físico de los registros en la tabla...
El menos eso dicen los manuales, y es lo mismo que me enseñaron en bases de Datos I y en los cursos de SQL Server.



..al menos que algo haya cambiado sin que me entere.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 04/02/2013, 18:05
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Registros no se insertan al final de la tabla

Te timaron, la PK, para lo unico que sirve y puedes re-leer los manuales, es para IDENTIFICAR COMO UNICOS los registros.

SQL Server (ninguna version), tiene un "ORDEN" de alamcenamiento de registros.
__________________
MCTS Isaias Islas
  #6 (permalink)  
Antiguo 07/02/2013, 16:09
 
Fecha de Ingreso: febrero-2009
Mensajes: 312
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: Registros no se insertan al final de la tabla

Hola.

El tema está en el Identity (secuencial)

Si la pk no es identity no hay orden.

Un campo puede ser pk sin ser identity pero un identity siempre será pk.

Saludos
  #7 (permalink)  
Antiguo 07/02/2013, 16:19
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Registros no se insertan al final de la tabla

no necesariamente, un identity puede o no puede ser pk, son 2 conceptos diferentes, que se use un identity como pk es diferente.
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #8 (permalink)  
Antiguo 07/02/2013, 16:34
 
Fecha de Ingreso: febrero-2009
Mensajes: 312
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: Registros no se insertan al final de la tabla

Hola
puede o no ser una pk, es cierto.

Pero la función de pk y de identificador único lo tiene siempre. No admite NULLS ni duplicados.

Además esta es secuencial y tiene órden ya que es un incremental

Saludos
  #9 (permalink)  
Antiguo 07/02/2013, 16:46
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Registros no se insertan al final de la tabla

Cita:
Iniciado por ejbsoft Ver Mensaje
Hola
puede o no ser una pk, es cierto.

Pero la función de pk y de identificador único lo tiene siempre. No admite NULLS ni duplicados.

Además esta es secuencial y tiene órden ya que es un incremental

Saludos
Si de que sirve como pk eso que ni que, pero de que puede o no puede ser una pk tambien es cierto :), ademas no necesariamente un campo identity tiene que ser pk.......
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #10 (permalink)  
Antiguo 07/02/2013, 16:57
 
Fecha de Ingreso: febrero-2009
Mensajes: 312
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: Registros no se insertan al final de la tabla

Hola

Se habla de orden de llegada en los registros de la tabla.

Con un campo identity se obtiene este órden independientemente de la PK.

Creo que con este detalle se puede dar una solución viable a lo expuesto.
El último registro siempre será secuencial porque hay incremento.

Saludos
  #11 (permalink)  
Antiguo 07/02/2013, 17:10
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Registros no se insertan al final de la tabla

Cita:
Iniciado por ejbsoft Ver Mensaje
Hola

Se habla de orden de llegada en los registros de la tabla.

Con un campo identity se obtiene este órden independientemente de la PK.

Creo que con este detalle se puede dar una solución viable a lo expuesto.
El último registro siempre será secuencial porque hay incremento.

Saludos
Si lo vemos de ese modo es una solucion.....aunque que se inserten al final de la tabla al inicio o en medio....no me afecta en nada al momento de presentarlos jejejeje, pero bueno cada quien
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #12 (permalink)  
Antiguo 07/02/2013, 21:27
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Registros no se insertan al final de la tabla

Me tome unas vacaciones y veo que siguen con el mismo tema, ¿no se les hace mucho inversion de tiempo?
__________________
MCTS Isaias Islas

Etiquetas: insert, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:27.