The reset command has the property
DBCC CHECKIDENT (tablename, RESEED, new_reseed_value)
If you want to set the column id to 12345, you run this
DBCC CHECKIDENT (beer, RESEED, 12345)
If you want to delete the test lines and restore the value to the previous value, follow these steps:
DELETE FROM beer WHERE beer_id >= 12345 ; DECLARE @NewSeed NUMERIC(10) SELECT @NewSeed = MAX(beer_id) FROM beer ; DBCC CHECKIDENT (beer, RESEED, @NewSeed)
Here is a demonstration of your scenario. Note that the beer_id column is created with the IDENTITY (1, 1) property, which assigns the identifier 1 in increments of 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 ;
bobs Aug 19 '10 at 21:50 2010-08-19 21:50
source share