双重循环sql操作(二个变量@UserID,@RightID,@Max为@UserID的最大值)
declare @UserID int,@Max int,@RightID int
set @UserID=(select top 1 UserID from [sys_UserRight] order by userid asc)
set @Max=(select top 1 UserID from [sys_UserRight] order by userid desc)
while @UserID< =@Max
begin
set @RightID='1119'
while @RightID in ('1211','1212','1119')
begin
INSERT INTO [sys_UserRight] ([UserID] ,[RightID])
VALUES (@UserID,@RightID)
set @RightID=@RightID+1
end
set @UserID=@UserID+1
while @UserID not in (select distinct(UserID) from [sys_UserRight]) and @UserID<@Max+1--循环检索@UserID是否存在
begin
set @UserID=@UserID+1
end
end
declare @UserID int,@Max int,@RightID int
set @UserID=(select top 1 UserID from [sys_UserRight] order by userid asc)
set @Max=(select top 1 UserID from [sys_UserRight] order by userid desc)
while @UserID< =@Max
begin
set @RightID='1119'
while @RightID in ('1211','1212','1119')
begin
INSERT INTO [sys_UserRight] ([UserID] ,[RightID])
VALUES (@UserID,@RightID)
set @RightID=@RightID+1
end
set @UserID=@UserID+1
while @UserID not in (select distinct(UserID) from [sys_UserRight]) and @UserID<@Max+1--循环检索@UserID是否存在
begin
set @UserID=@UserID+1
end
end