Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/03/2010, 09:41
T3rryMan
 
Fecha de Ingreso: enero-2010
Ubicación: SJM Lima - Peru
Mensajes: 55
Antigüedad: 15 años
Puntos: 1
Respuesta: Campo autonumerico que se ajuste a numeración original

Cita:
Iniciado por kinetic_brain Ver Mensaje
Hola maestros

como puedo hacer para que el campo autonumerico de una tabla, vuelva a la numeracion original, porque cuando elimino un registro por ejemplo el registro numero 1, el que queda con posicion primera es el registro con numeración 2, como hago para que vuelvan o se autoajuste la numeración comenzando de 1.

por favor.
Hola
casi siempre cuando creo una tabla la acentuo asi
Código SQL:
Ver original
  1. CREATE TABLE myTabla
  2.    (
  3.    idcal INT IDENTITY(1,1),
  4.    nombre VARCHAR(20)
  5.    )

entenderas que aca creas tu IDx con un valor inicial de 1 y su incremento de 1 utilizando el IDENTITY. Pero existe una desventaja que cundo insertamos y eliminamos registros, crea vacios en nuestro correlativo o peor aun cuando aplicamos un INSERT y este nos da error el IDENTITY por el error se incremento otra vez el ID.
Para este caso de resetar o reestructurar el valor del ID, se utiliza el sgte codigo
solo se pone nombre de tabla ya que una propiedad del IDENTITY es que solo puede haber en una, por eso en el comando solo se pone tabla y valor a resetear y nunca nombre del campo.
Código SQL:
Ver original
  1. SET DBCC CHECKIDENT ('myTabla', RESEED, 370);
despues que insert un registro nuevo en esta tabla el valor devuelto para el ID del registro insertado es 371 eso quiere decir si quieres iniciar un registro en 1 deberias poner SET DBCC CHECKIDENT ('calendario', RESEED, -1);
Espero halla quedado claro esta explicacion.

www.bitxense.com.pe | Soluciones Informaticas S.A.C. - [email protected]
Cualquier duda soy Jhon Bautista Palomino aqui esta mi correo [email protected] Lima-Peru