DBCC CHECKIDENT Iniciar valor del pk (autoincremental) en una tabla

 
Ejemplo:
Cree una BD en sql server 2000, 2005 o 2008 y adicione el siguiente script
 

CREATE TABLE [dbo].[admGrupo](

[grupoId] [int]

IDENTITY(1,1) NOT NULL,

[grupoNombre] [varchar]

(100) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL

CONSTRAINT

[X1PKadmGrupo] PRIMARY KEY CLUSTERED

(

[grupoId]

ASC

)

WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]

)

ON [PRIMARY]

el script anterior crea una tabla con el nombre admGrupo que a medida que insertemos registros en la base de datos el motor de base de datos adicionara el registro inicial de la tabla en uno tal como se especifica en la instruccion de scrip y incrementara su GrupoId de registro de uno en uno ([grupoId] [int] IDENTITY(1,1) NOT NULL),  

si insertamos dos registros desde el query analizer de sql

insert

into admGrupo values (‘ADMIN’)

insert

into admGrupo values (‘SUPERADMIN’)

Al realizar un select se visualiza la siguiente información como se muestra en la imagen

SELECT

* FROM admGrupo

 

ejecutemos un Delete

delete admGrupo

iniciamos en contador nuevamente:

DBCC

CHECKIDENT(admGrupo, RESEED, 1);

la instrucción anterior permite iniciar el valor de la pk de la tabla admGrupo en 1 nuevamente, ccuando volvamos a realizar un insert sobre esta  tabla el valor del primer registro es nuevamente 1, como se indico en la instruccion anterior.

DBCC CHECKIDENT(NombreTraba, RESEED, ValorNuevo);

el valor de RESEED es propio de la instruccion DBCC CHECKIDENT

 

About omaracostacasas

ING SOFTWARE
This entry was posted in SQL Server. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s