我有一个表,我从中删除记录。 问题是当我删除某个记录时,它的ID也会飞走,因此表中不再遵守ID顺序。 我想要的是SQL Server过程在删除其中一个记录后重新排列记录。
示例:
ID ID ID
1 1 1
2 I delete record 2, i want to have this ===> 2 and NOT this : 3
3 3 4
4 4 5
5
答案 0 :(得分:5)
你不想这样做。 id
应该是除了标识行之外没有任何意义的字段。您可能有其他表引用id
并且它们会中断。
相反,只需在查询表时重新计算顺序值:
select t.*, row_number() over (order by id) as seqnum
from t;