SelectEtoile : Base de connaissance SGBD

Posts Tagged 'reset'

Comment changer la valeur d'une colonne identity sous SQLServer ?

Voici un exemple de table avec une colonne identity :

CREATE TABLE IDENTITYTABLE(Id int IDENTITY(1,1) NOT NULL,c char(1), i int)
go

 

On insère 10 lignes

insert into IDENTITYTABLE values ('a',1)
go 10
select * from IDENTITYTABLE
go

 

Ce qui donne le résultat attendu :

1    a    1
2    a    1
3    a    1
4    a    1
5    a    1
6    a    1
7    a    1
8    a    1
9    a    1
10    a    1

 

Maintenant, on change la valeur de la prochaine identity :

DBCC CHECKIDENT (IDENTITYTABLE, RESEED, 99)
go

Checking identity information: current identity value '10', current column value '99'.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

 

On insert à nouveau 10 lignes et voici le résultat obtenu :

1    a    1
2    a    1
3    a    1
4    a    1
5    a    1
6    a    1
7    a    1
8    a    1
9    a    1
10    a    1
100    b    2
101    b    2
102    b    2
103    b    2
104    b    2
105    b    2
106    b    2
107    b    2
108    b    2
109    b    2

 

Nous voyons clairement que l'on passe directement de 10 à 100.