La commande pour réinitialiser la propriété d'identité est
DBCC CHECKIDENT (tablename, RESEED, new_reseed_value)
Lorsque vous souhaitez définir l'identité de la colonne sur 12345, exécutez ceci
DBCC CHECKIDENT (beer, RESEED, 12345)
Lorsque vous souhaitez supprimer des lignes de test et restaurer la valeur à la valeur précédente, procédez comme suit.
DELETE
FROM beer
WHERE beer_id >= 12345 ;
DECLARE @NewSeed NUMERIC(10)
SELECT @NewSeed = MAX(beer_id)
FROM beer ;
DBCC CHECKIDENT (beer, RESEED, @NewSeed)
Voici une démonstration de votre scénario. Notez que la colonne beer_id est créée avec le IDENTITY (1, 1)
propriété, qui initialise l'identité à 1 avec un incrément de 1.
CREATE TABLE beer
(
beer_id NUMERIC(10) IDENTITY (1,1) NOT NULL,
mnemonic NVARCHAR(8)
);
GO
INSERT INTO beer(mnemonic) VALUES ('Beer 1')
INSERT INTO beer(mnemonic) VALUES ('Beer 2')
SELECT *
FROM beer ;
DBCC CHECKIDENT (beer, RESEED, 12345)
GO
INSERT INTO beer(mnemonic) VALUES ('Beer 3')
INSERT INTO beer(mnemonic) VALUES ('Beer 4')
SELECT *
FROM beer ;
DELETE
FROM beer
WHERE beer_id >= 12345 ;
DECLARE @NewSeed NUMERIC(10)
SELECT @NewSeed = MAX(beer_id)
FROM beer ;
DBCC CHECKIDENT (beer, RESEED, @NewSeed)
GO
INSERT INTO beer(mnemonic) VALUES ('Beer 5')
INSERT INTO beer(mnemonic) VALUES ('Beer 6')
SELECT *
FROM beer ;