1

我有一个表,我从中删除记录。问题是当我删除某条记录时,它的 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
4

1 回答 1

5

你不想这样做。id应该是一个除了标识行之外没有任何意义的字段。您可能有其他表引用id并且它们会中断。

相反,只需在查询表时重新计算顺序值:

select t.*, row_number() over (order by id) as seqnum
from t;
于 2013-08-02T13:03:50.657 回答