sql断点查询

来源:互联网 发布:资产负债表数据来源 编辑:程序博客网 时间:2024/06/09 15:23

例如我们要进行如下查询

一个表有个自增主键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