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

Reanudar AutoIncrement

Estas en el tema de Reanudar AutoIncrement en el foro de SQL Server en Foros del Web. Hola Gente del foro Tengo una duda y espero que alguien me ayude por favor tengo varios registros en una tabla, los cuales tienen un ...
  #1 (permalink)  
Antiguo 22/04/2010, 15:57
 
Fecha de Ingreso: abril-2008
Mensajes: 112
Antigüedad: 16 años, 6 meses
Puntos: 0
Reanudar AutoIncrement

Hola Gente del foro

Tengo una duda y espero que alguien me ayude por favor
tengo varios registros en una tabla, los cuales tienen un campo autoincrement.
En cada insert se incrementa dicho campo en 1 (obvio), pero quisiera saber como evitar que salten los numeros. Me explico...

Si tengo 100 registros y elimino los ultimos 30, el siguiente registro ingresado tendra por numero 101, y yo desearia que fuese el 71. espero ser claro en mi explicacion.

He utilizado:
delete from productos
DBCC checkident(productos, reseed, 0)
pero elimina todos los registros, como un truncate, pero no importa que esten vinculados a otras tablas.
  #2 (permalink)  
Antiguo 22/04/2010, 16:57
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 17 años, 4 meses
Puntos: 180
Respuesta: Reanudar AutoIncrement

Ya hemos comentado en demasia, que la propiedad IDENTITY, no sirve para tablas que seran afectadas por DELETE.....
  #3 (permalink)  
Antiguo 22/04/2010, 19:53
Avatar de Beakdan  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 11 meses
Puntos: 7
Respuesta: Reanudar AutoIncrement

Además, los campos de tipo Identity son sólo claves sustitutas. Que se salte 30 o 1000 no afecta al funcionamiento de una aplicación bien diseñada. ¿Cuál es la utilidad de mantener la secuencia? En terminos pragmáticos, ninguna. El Identitity podría entregarte claves quasi-aleatorias (como un rowguid) y no debe afectarte.
Concuerdo con iislas en esto. Quizá si explicas por qué requieres la continuidad, pueda sugerirte una alternativa.

Saludos.
  #4 (permalink)  
Antiguo 25/04/2010, 10:40
 
Fecha de Ingreso: abril-2008
Mensajes: 112
Antigüedad: 16 años, 6 meses
Puntos: 0
Autoincrement

Gracias iislas y Gracias Beakdan por responder

Entiendo la mecanica del autoincrement y que no afectara el funcionamiento de la aplicacion.

Antes de nada debo aclararles soy un poco novato en esto de la programacion, y estoy vinculando SQL server con Visual.net y la razon por la cual he optado por utlizar este tipo de campo, es por que la tabla incluye un campo imagen en el cual ira la fotografia del producto, y la unica manera de insertar un registro con todo y foto que he podido realizar es utilizando un campo de este tipo, por q la foto se direcciona directamente al campo autoincrement, no he podido hacerlo por codigo (no me sale).

Espero que me haya hecho entender
gracias
  #5 (permalink)  
Antiguo 26/04/2010, 08:17
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 17 años, 4 meses
Puntos: 180
Respuesta: Reanudar AutoIncrement

En lugar de VINCULANDO, deberias utilizar la palabra DESARROLLANDO un aplicativo con Visual Net y SQL Server.

El metodo deberia ser, buscar el maximo (MAX(REGISTRO) + 1) y sumarle 1

Saludos
  #6 (permalink)  
Antiguo 26/04/2010, 08:30
 
Fecha de Ingreso: abril-2008
Mensajes: 112
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Reanudar AutoIncrement

Gracias, creo q con eso ya lo soluciono

Etiquetas: autoincrementable
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 00:12.