Como reestablecer un campo autoincremental

17/07/2004 - 12:52 por trallon | Informe spam
Buenas, os comento mi caso.
Resulta que tengo una tabla con un campo autoincremental y con el
paso del tiempo y tras las multiples tansacciones que sufre, tiene
valores en esa columna sobre los 10.000 cuando realmente no hay más de
100 filas.
Mi pregunta es si puedo reestablecer eso valores de forma que valgan
de 1 a 100 (suponiendo que existan 100 filas) o si al menos puedo
reducir los valores de esa columna
 

Leer las respuestas

#1 José Hurtado
17/07/2004 - 16:53 | Informe spam
Usa el comando:

DBCC CHECKIDENT ('Nombre Tabla', RESEED, <Número de inicio>)
<Número de inicio> sería el valor mas alto de la columna + 1, pero debes
tener cuidado si es que hay valores superiores ya grabados. Los campos
autonuméricos no aseguran que no existan valores duplicados a menos que
esten relacionados con una condición/constraint UNIQUE y/o sean una clave
primaria.

Sin embargo si es que tu numeración esta muy "fragmentada" y quieres cambiar
los valores, debes modificar el diseño de la tabla y quitar la propiedad
IDENTITY del campo. Luego cambias los valores y vuelves a poder la propiedad
IDENTITY, normalmente SQL Server reiniciará la cuenta según el último valor
pero si tienes problemas usa el mismo comando CHECKIDENT.

Saludos.

Ing. José Hurtado
MCP (candidato a MCDBA)


"trallon" escribió en el mensaje
news:
Buenas, os comento mi caso.
Resulta que tengo una tabla con un campo autoincremental y con el
paso del tiempo y tras las multiples tansacciones que sufre, tiene
valores en esa columna sobre los 10.000 cuando realmente no hay más de
100 filas.
Mi pregunta es si puedo reestablecer eso valores de forma que valgan
de 1 a 100 (suponiendo que existan 100 filas) o si al menos puedo
reducir los valores de esa columna

Preguntas similares