--创建临时表(用户存放需要进行替换的数据)
create table #UserTable
(
number int,
UserID int
)
--查询需要进行循环替换的数据
insert into #UserTable
select row_number()over(order by a.userid desc) number, UserId from User
--创建临时变量
Declare @max int
Declare @curNumber int
--赋值
select @max = count(number) from #UserTable --循环次数
set @curNumber = 1 --当前循环次数
--循环
while @curNumber <= @max
begin
declare @userId int --创建存放需要修改的数据的ID
select @userId=UserID from #UserTable where number = @curNumber --赋值
--创建替换的临时字段
declare @Name nvarchar(500)
declare @Address nvarchar(500)
declare @UserTag nvarchar(500)
select @Name = Name from User where userid=@userId
SELECT @Address = Address from AddressTable where userid=@userId
SELECT @UserTag =Tag from TagTable where userid=@userId
update User set Name= @Name,Address = @Address ,UserTag= @UserTag where UserID = @userId
set @curNumber = @curNumber + 1
end