34,838
社区成员




update t set left=left+@rr-@rl+1,right=right+@rr-@rl+1 where left between @ll and @lr
update t set left=left-@lr+@ll-1,right=right-@lr+@ll-1 where left between @rl and @rr
是不是有些问题?declare @ll int,@lr int,@rl int @rr int
declare @l varchar(100),@r varchar(100)
select @l='NOKIA',@r ='MOTO'
select @ll = left,@lr=right from t where 名称=@l
select @rl = left,@rr=right from t where 名称=@r
update t set left=left+@rr-@rl+1,right=right+@rr-@rl+1 where left between @ll and @lr
update t set left=left-@lr+@ll-1,right=right-@lr+@ll-1 where left between @rl and @rr