Kommandot för att återställa identitetsegenskapen är
DBCC CHECKIDENT (tablename, RESEED, new_reseed_value)
När du vill ställa in kolumnidentiteten till 12345 kör du detta
DBCC CHECKIDENT (beer, RESEED, 12345)
När du vill ta bort testrader och återställa värdet till föregående värde gör du följande.
DELETE
FROM beer
WHERE beer_id >= 12345 ;
DECLARE @NewSeed NUMERIC(10)
SELECT @NewSeed = MAX(beer_id)
FROM beer ;
DBCC CHECKIDENT (beer, RESEED, @NewSeed)
Här är en demonstration för ditt scenario. Observera att kolumnen beer_id skapas med IDENTITY (1, 1)
egenskap, som såddar identiteten till 1 med en ökning på 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 ;