Sli*_*ram 1 sql sql-server stored-procedures
我有一个表,我从中删除记录.问题是当我删除某个记录时,它的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
Run Code Online (Sandbox Code Playgroud)
你不想这样做.本id应该是没有比将行标识等意义的领域.您可能有其他表引用id它们,它们会破坏.
相反,只需在查询表时重新计算顺序值:
select t.*, row_number() over (order by id) as seqnum
from t;
Run Code Online (Sandbox Code Playgroud)