游标可以很好的解决麻烦的循环问题,但最大缺点就是执行效率低下,特别大数据量。网上发现很多代替游标的方法,感觉这个比较好用拿来备用

 

代替游标循环的方法DECLARE @r int;
代替游标循环的方法
DECLARE @number int;
代替游标循环的方法
DECLARE @tb1 table (numb int,tid int)
代替游标循环的方法
insert into @tb1(numb,tid )
代替游标循环的方法
SELECT ROW_NUMBER() OVER (ORDER BY userid ) AS number,tid FROM TableName ;--关键
代替游标循环的方法

代替游标循环的方法
SELECT @number = MAX(numb) FROM @tb1;
代替游标循环的方法
SET @r=1
代替游标循环的方法
WHILE (@r <= @number)
代替游标循环的方法
BEGIN
代替游标循环的方法
---sql 语句
代替游标循环的方法
select numb from @tb1 where numb = @r;
代替游标循环的方法
SET @r=@r+1
代替游标循环的方法
END

 

相关文章: