Campo autonumérico

Soy novato y recién comienzo a utilizar Sql server 2005 y he creado una tabla llamada película en donde tengo los campos: numero, descripción, director, año. El campo numero lo he definido como int y le he asignado que se incremente en uno, mi problema es que cuando elimino un registro y agrego otro me cuenta el registro eliminado es decir por ejemplo si elimino el registro 3 cuando inserto otro registro se crea como 4, teniendo este secuencia 1,2,4. Y lo que yo quiero es que siga el 3.

1 Respuesta

Respuesta
1
Efectivamente ese es el corportamiento de un identity o autonumero en sql (y otros)
Lo que puedes haces en este caso es reiniciar el identity a un numero definido, esto lo haces con el siguiente script:
DECLARE @NEW_IDENTITY INT
SET @NEW_IDENTITY = (SELECT COUNT(*) AS VALOR FROM TU_TABLA )
DBCC CHECKIDENT (TU_TABLA, RESEED, @NEW_IDENTITY ) 
Lo que hace esto es obtener el numero de registros en tu tabla y resetear el contador del identity a ese numero.
Claro que debes tener cuidado en no setearlo a un numero que ya haya sido utilizado por que te marcara errores en caso de que tengas este campo como llave primaria.
Ojala y sea lo que necesitas cualquier duda estamos en contacto.
Amigo muchísimas gracias por la respuesta la he entendido, pero me podrías dar un ejemplo del cuidado a tener mm no me quedo muy claro esa parte que me indicas.
Solo es que tengas cuidado con no reiniciar el valor del identity a uno que ya exista en la tabla, si reinicias el valor a 4 y ya tienes un registro con 4 seguramente te marcara violación de llave primaria.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas