create proc initSiteSort
as
Begin
set nocount on;
declare @Count int
declare @MaxSort int
declare @SiteId int
set @Count = 0
set @MaxSort = 0
set @SiteId = 0
select @Count = count(id) from T_Site where sort=0
WHILE @Count > 0
Begin
select @MaxSort = (max(Sort)+1000) from T_Site
select @SiteId = (id) from T_Site where sort = 0 order by id DESC
update T_Site set Sort = @MaxSort + 1 where id = @SiteId
set @Count = @Count -1
End
End
GO
执行存储过程
exec initSiteSort
GO
执行完成后删除
drop proc initSiteSort
GO
主要功能:将所有的Sort=0的数据,修改Sort为当前最大的Sort加上1000
主要逻辑:先查询出Sort = 0 的数据个数,然后循环 1.查询出当前最大的Sort,2.查询Sort=0的站点Id 3.修改站点Sort=最大的Sort+1000,计数减1,循环结束,业务完成。