Identity

24/10/2003 - 00:46 por Pablo Fabian Savino | Informe spam
Hola,

bien, cuando el campo es Identity e inserto un registro, este
(sql server) asigna un numero, pero si yo borro un registro y luego inserto
uno nuevo, el identity salta, quiero decir, por ej:

inserto
identity=1
borro
where el identity=1
inserto
identity=2
Aqui esta la cuestion, hay manera que
siga el orden numerico sin saltarce numeros, debido que si borre el 1 y
luego inserto, quiero que sea 1 y no 2

hay manera de reordenar el identity? (por asi decirlo)


Saludos.
 

Leer las respuestas

#1 Isaías
24/10/2003 - 01:21 | Informe spam
Hola

La propiedad IDENTITY es un AUTONUMERICO, no es que
se "salte", simplemente, se borro el registro, por tanto,
el numerador seguira numerando en el siguiente (su caso,
el 3 a diferencia del que usted espera, 2).

Su peticion de RE-NUMERAR cada que se haga un DELETE, no
suena del todo logica ante un AUTONUMERICO, me paso a
explicar, en una aplicacion MULTI-USUARIO, suponiendo que
tenemos 250 usuarios y cada uno hace un DELETE de su
registro en cuestion, ¿Cual deberia ser la RE-NUMERACION?

Tal vez lo que usted necesita, es manejar un campo
NUMERICO, pero sin propiedad IDENTITY y "numerar" a "mano"
(por codigo).


DECLARE @MyUltimoNumero INT
SELECT @MyUltimoNumero = MAX(MyColNumerica)+1 FROM MyTabla

En este ejemplo, @MyUltimoNumero, tiene el ultimo numero +
1

Saludos.

Preguntas similares