delete tb where id>100
DBCC CHECKIDENT ('tb', RESEED, 1)
DBCC CHECKIDENT ('tb', RESEED)
--其結果將 tb 表的自增種子設定為當前表裡識別欄位的最大值
--再次增加資料就會繼續那個數字了
--實測
--建立測試環境
IF OBJECT_ID('tb') IS NOT NULL DROP TABLE tb
GO
CREATE TABLE tb
(
id int identity,
code varchar(10),
CONSTRAINT PK_TB PRIMARY KEY (id)
)
GO
--插入測試資料
declare @i int
set @i=1
while @i<10
begin
INSERT TB SELECT 'A'+ltrim(@i)
set @i=@i+1
end
--查詢
select * from tb
--結果
/*
id code
----------- ----------
1 A1
2 A2
3 A3
4 A4
5 A5
6 A6
7 A7
8 A8
9 A9
(9 行受影響)
*/
--1 刪掉 一部分
delete tb where id>5
DBCC CHECKIDENT ('tb', RESEED, 1)
DBCC CHECKIDENT ('tb', RESEED)
/*
檢查標識資訊: 當前標識值 '9',當前列值 '1'。
DBCC 執行完畢。如果 DBCC 輸出了錯誤資訊,請與系統管理員聯絡。
檢查標識資訊: 當前標識值 '1',當前列值 '5'。
DBCC 執行完畢。如果 DBCC 輸出了錯誤資訊,請與系統管理員聯絡。
*/
--插入測試資料
declare @i int
set @i=1
while @i<10
begin
INSERT TB SELECT 'A'+ltrim(@i)
set @i=@i+1
end
--查詢
select * from tb
/*
id code
----------- ----------
1 A1
2 A2
3 A3
4 A4
5 A5
6 A1
7 A2
8 A3
9 A4
10 A5
11 A6
12 A7
13 A8
14 A9
(14 行受影響)
*/