1、全表自动排序。OrderNum为要更新的排序字段。Id为按照什么顺序重置排序数据。
update 表名 set OrderNum = rownum from(
select OrderNum, ROW_NUMBER() over(order by Id) rownum from 表名
) 表名
2、带条件的重置排序。把RoleId=2的所有数据按照id排序,重置OrderNum值。
update 表名 set OrderNum = rownum from(
select RoleId,OrderNum, ROW_NUMBER() over(order by Id) rownum from 表名where RoleId=2
) 表名 where RoleId=2