Inicializar campo IDENTITY en una tabla

02/01/2004 - 15:14 por Salvador Acosta | Informe spam
Estoy en plena migración de una base de datos que no es SQL Server y una que
sí lo es. El proceso lo hago diariamente y tengo varias tablas que tienen
como PK un campo tipo IDENTITY. El problema es que si elimino todos los
registros de estas tablas, no me inicializa el valor inicial del campo
identity y comienza desde el último número en donde quedó hasta antes de la
última migración. Quisiera crear un proceso en que al insertar un primer
registro me genere el valor identity 1 y no el último valor+1 como es que lo
está haciendo ahora.

Si alguno sabe cómo lo puedo hacer, le agradecería bastante.

Gracias por adelantado,

Salvador Acosta.

Preguntas similare

Leer las respuestas

#1 Eladio Rincón
02/01/2004 - 14:34 | Informe spam
Hola,

debes usar DBCC CHECKIDENT; mira en BOL;

un ejemplo:
En este ejemplo se establece el valor de identidad actual de la tabla jobs en 30.

USE pubs
GO
DBCC CHECKIDENT (jobs, RESEED, 30)
GO


Eladio Rincón
MCAD, SQL Server MVP
http://www.siquelnet.com

"Comparte lo que sabes, aprende lo que no sepas." FGG

"Salvador Acosta" escribió en el mensaje news:%23D%
Estoy en plena migración de una base de datos que no es SQL Server y una que
sí lo es. El proceso lo hago diariamente y tengo varias tablas que tienen
como PK un campo tipo IDENTITY. El problema es que si elimino todos los
registros de estas tablas, no me inicializa el valor inicial del campo
identity y comienza desde el último número en donde quedó hasta antes de la
última migración. Quisiera crear un proceso en que al insertar un primer
registro me genere el valor identity 1 y no el último valor+1 como es que lo
está haciendo ahora.

Si alguno sabe cómo lo puedo hacer, le agradecería bastante.

Gracias por adelantado,

Salvador Acosta.


Respuesta Responder a este mensaje
#2 Liliana Sorrentino
02/01/2004 - 19:57 | Informe spam
Tal vez estás eliminando las filas con DELETE. TRUNCATE te inicializa el
IDENTITY por sí solo y no deja registro de la acción en el transaction log,
por eso es más rápido.
En los BOL hay más información del tema.
Saludos.. Liliana.

"Eladio Rincón" escribió en el mensaje
news:
Hola,

debes usar DBCC CHECKIDENT; mira en BOL;

un ejemplo:
En este ejemplo se establece el valor de identidad actual de la tabla jobs
en 30.

USE pubs
GO
DBCC CHECKIDENT (jobs, RESEED, 30)
GO


Eladio Rincón
MCAD, SQL Server MVP
http://www.siquelnet.com

"Comparte lo que sabes, aprende lo que no sepas." FGG

"Salvador Acosta" escribió en el mensaje
news:%23D%
Estoy en plena migración de una base de datos que no es SQL Server y una


que
sí lo es. El proceso lo hago diariamente y tengo varias tablas que tienen
como PK un campo tipo IDENTITY. El problema es que si elimino todos los
registros de estas tablas, no me inicializa el valor inicial del campo
identity y comienza desde el último número en donde quedó hasta antes de


la
última migración. Quisiera crear un proceso en que al insertar un primer
registro me genere el valor identity 1 y no el último valor+1 como es que


lo
está haciendo ahora.

Si alguno sabe cómo lo puedo hacer, le agradecería bastante.

Gracias por adelantado,

Salvador Acosta.


Respuesta Responder a este mensaje
#3 Maximiliano Damian Accotto
02/01/2004 - 20:07 | Informe spam
Liliana ojo con el Truncate table, es cierto todo lo que vos decis pero..

No se puede aplicar si hay referencias a la tabla (claves foranias por ej)

Ni tampoco si hay vistas indizada.

Salu2 y perdona por la aclaracion



Maximiliano Damian Accotto


"Liliana Sorrentino" escribió en el mensaje
news:
Tal vez estás eliminando las filas con DELETE. TRUNCATE te inicializa el
IDENTITY por sí solo y no deja registro de la acción en el transaction


log,
por eso es más rápido.
En los BOL hay más información del tema.
Saludos.. Liliana.

"Eladio Rincón" escribió en el mensaje
news:
Hola,

debes usar DBCC CHECKIDENT; mira en BOL;

un ejemplo:
En este ejemplo se establece el valor de identidad actual de la tabla jobs
en 30.

USE pubs
GO
DBCC CHECKIDENT (jobs, RESEED, 30)
GO


Eladio Rincón
MCAD, SQL Server MVP
http://www.siquelnet.com

"Comparte lo que sabes, aprende lo que no sepas." FGG

"Salvador Acosta" escribió en el mensaje
news:%23D%
> Estoy en plena migración de una base de datos que no es SQL Server y una
que
> sí lo es. El proceso lo hago diariamente y tengo varias tablas que


tienen
> como PK un campo tipo IDENTITY. El problema es que si elimino todos los
> registros de estas tablas, no me inicializa el valor inicial del campo
> identity y comienza desde el último número en donde quedó hasta antes de
la
> última migración. Quisiera crear un proceso en que al insertar un primer
> registro me genere el valor identity 1 y no el último valor+1 como es


que
lo
> está haciendo ahora.
>
> Si alguno sabe cómo lo puedo hacer, le agradecería bastante.
>
> Gracias por adelantado,
>
> Salvador Acosta.
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida