--有这样一个表A,只要1列,请问我要怎么来填充空缺的id号。
id
1
2
3
4
7
9
11
12由于某些原因id=5和id=6被删除了,我现在想重新使用这个id号,请问要怎么批量将现在空缺的全部按顺序填充
结果应该为
id
1
2
3
4
5
6
7
8
9
10
11
12谢谢大家

解决方案 »

  1.   

    SELECT NUMBER FROM MASTER..SPT_VALUES
    WHERE TYPE='P' AND NUMBER BETWEEN (
    SELECT MIN(ID) FROM TB
    ) AND (
    SELECT MAX(ID) FROM TB
    )
      

  2.   

    这个表建得实在很糟糕select top 12 id=row_number() over(order by getdate()) 
    from sys.columns,sys.objects
      

  3.   

    看那一列是否是自增的,如果是自增的先设置 SET IDENTITY_INSERT ON,再 UPDATE,否则直接UPDATE。具体方法可以用鸭子的