SQLServer------遍历操作,游标的基础使用

时间:2024-12-28 00:05:51

以下代码

 begin
declare @tempId int--当前被选中的订单id
declare order_cursor cursor
for (to.id FROM tb_order AS to WHERE
to.status =1)--声明并初始化一个游标,获取状态为1的订单表中的id的集合
--打开游标--
open order_cursor
--开始循环游标变量--
fetch next from order_cursor into @tempId --把当前游标变量值赋给的@tempId
while @@FETCH_STATUS = 0 --返回被 FETCH语句执行的最后游标的状态--
begin
/*
此处执行具体的业务操作
*/
fetch next from order_cursor into @tempId --转到下一个游标,没有会无限循环
end
close order_cursor --关闭游标
deallocate order_cursor --释放游标
end

此处主要需要注意的地方就是不要忘记在结束循环语句之前带上fetch next from 这条命令否则就会出现死循环