Lệnh để thiết lập lại thuộc tính bản sắc là
DBCC CHECKIDENT (tablename, RESEED, new_reseed_value)
Khi bạn muốn thiết lập bản sắc cột để 12345 bạn chạy này
DBCC CHECKIDENT (beer, RESEED, 12345)
Khi bạn muốn xóa hàng kiểm tra và khôi phục lại giá trị với giá trị trước đó, bạn làm như sau.
DELETE
FROM beer
WHERE beer_id >= 12345 ;
DECLARE @NewSeed NUMERIC(10)
SELECT @NewSeed = MAX(beer_id)
FROM beer ;
DBCC CHECKIDENT (beer, RESEED, @NewSeed)
Đây là minh chứng cho kịch bản của bạn. Lưu ý rằng cột beer_id được tạo với thuộc tính IDENTITY (1, 1)
, trong đó hạt giống nhận dạng là 1 với số gia tăng là 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 ;
+1 Cảm ơn bạn, trông giống như một câu trả lời hoàn chỉnh. Tôi sẽ thử. –
Cũng giống như một FYI, nếu bạn cần biết hạt giống hiện tại là gì bạn có thể chạy 'SELECT IDENT_CURRENT (' table_name ') 'này – JMS10