有一列ID,是从1开始自然累加的,有什么办法查询,中间是否缺失了呢。

解决方案 »

  1.   

    CREATE PROCEDURE sp_recycle
    AS
    DECLARE @maxid int,@sql varchar(8000)
    IF exists(SELECT * FROM t)
    BEGIN
      SELECT @maxid=MAX(id) FROM t
      CREATE TABLE #t(id int)
      SET @sql='SELECT TOP '+CAST(@maxid AS varchar)+' IDENTITY(int,1,1) id
                  INTO #tem FROM syscolumns a,syscolumns b,syscolumns c
                INSERT #t
                  SELECT * FROM #tem
                DROP TABLE #tem '
      EXEC(@sql)
      SELECT id FROM #t WHERE not exists(SELECT * FROM t WHERE id=#t.id)
      DROP TABLE #t
    END
    GO本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/pbsql/archive/2005/03/21/325714.aspx
      

  2.   

    http://topic.csdn.net/u/20090713/11/0f4e30d9-2a93-4e4b-900e-ab2734803e3d.html?8463
      

  3.   

    也可以用master..spt_vaules表来构造表 没有数据  楼主自己去看看
      

  4.   

    與 masert..spt_values 連接下