例如我们要进行如下查询
一个表有个自增主键id, 里面有N行数据
id 1
id 2
id 3
id 7
id 8
id 12
id 9990
id 9993
id 9994
id 9995
要查出断掉的id :4 5 6 9 10 11 ......9991 9992
查询语句为
declare @minId int
declare @maxId int
declare @count int
declare @total int
declare @i int
declare @n int
select @minId=min(id) from area
select @maxId=max(id) from area
select @total=count(1) from area
set @i=@minId set @count=0 set @n=0
while(@i<@maxId and @n<@maxId-@total)
begin
select @count=count(1) from area where id=@i
if @count=0
begin
print @i
set @n=@n+1
end
set @i=@i+1
end