以下代码
1 begin 2 declare @tempId int--当前被选中的订单id 3 declare order_cursor cursor 4 for (to.id FROM tb_order AS to WHERE 5 to.status =1)--声明并初始化一个游标,获取状态为1的订单表中的id的集合 6 --打开游标-- 7 open order_cursor 8 --开始循环游标变量-- 9 fetch next from order_cursor into @tempId --把当前游标变量值赋给的@tempId10 while @@FETCH_STATUS = 0 --返回被 FETCH语句执行的最后游标的状态--11 begin 12 /*13 此处执行具体的业务操作14 */15 fetch next from order_cursor into @tempId --转到下一个游标,没有会无限循环16 end 17 close order_cursor --关闭游标18 deallocate order_cursor --释放游标19 end
此处主要需要注意的地方就是不要忘记在结束循环语句之前带上fetch next from 这条命令否则就会出现死循环