campos incrementales

24/09/2004 - 01:04 por Vilma Beltrán | Informe spam
Creo una tabla con un campo incremental, incluyo algunos
registros en la tabla, el campo incremental incrementa los
valores en los registros, ahora borro algunos registros e
incluyo otros, los valores incrementales siguen enumerando
los registros con el ultimo valor sin tener en cuentya que
los borré. No deseo esto, deseo que cuando borre
registros, los nuevos campos no tomen en cuenta los
borrados, es decir que cada valor del campo incremental
sea el número del registro real. ¿como lo hago?

Gracias
 

Leer las respuestas

#1 MAXI
24/09/2004 - 02:43 | Informe spam
no uses campos incrementales porque no son nada buenos ;-) y esa
funcionalidad no la vas a poder conseguir.

De todas formas puedes dejarlo asi y luego armar un query para la numeracion
(1,2,nn)

veamos un ejemplo

==CREATE TABLE #PEPE (ID INT IDENTITY, NOMBRE CHAR(10))
GO

DECLARE @N INT
SET @N = 1

WHILE @N <= 100
BEGIN
INSERT INTO #PEPE (NOMBRE) VALUES ('PEPE' + CONVERT(VARCHAR(2),@N))
SET @N = @N + 1
END
GO

DELETE FROM #PEPE WHERE ID IN (1,3,10,20)

SELECT P.ID, (SELECT COUNT(*) FROM #PEPE P2 WHERE P2.ID <= P.ID) AS NUMERO
FROM #PEPE P
ORDER BY P.ID

GO






Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)
Mail: Maxi_accotto[arroba]speedy.com.ar

Msn Messager:

"Vilma Beltrán" escribió en el mensaje
news:121d01c4a1c1$ac190f20$
Creo una tabla con un campo incremental, incluyo algunos
registros en la tabla, el campo incremental incrementa los
valores en los registros, ahora borro algunos registros e
incluyo otros, los valores incrementales siguen enumerando
los registros con el ultimo valor sin tener en cuentya que
los borré. No deseo esto, deseo que cuando borre
registros, los nuevos campos no tomen en cuenta los
borrados, es decir que cada valor del campo incremental
sea el número del registro real. ¿como lo hago?

Gracias

Preguntas similares