游标模板

(一)游标模板
     1.1简单游标:

--0.定义游标用的变量
declare @inqty numeric(18,8),@reqrate numeric(18,8),@workno int,@morderno varchar(50)
set @inqty=1000 --默认为制令净需求数量
set @morderno='10010001'

--1.定义游标
declare j_cur cursor for  
        select workno,reqrate  from po_orderjob where morderno=@morderno  
    order by workno desc

--2.打开游标,向下取一条记录,赋值给对应变量
open j_cur
fetch next from j_cur into @workno,@reqrate

--判断没取完游标记录
while @@fetch_status = 0
begin  --1
     --游标处理代码段
      if isnull(@reqrate,0) > 0  --工序成材率大于0
        set @inqty = round(@inqty / @reqrate * 100.0,2)
      else --/工序成材率小于0,当1算
        set @reqrate=100
      --select @inqty
      update po_orderjob set inqty=@inqty where morderno=@morderno and workno=@workno

        --2.1 再向下取一条记录,赋值给对应变量
      fetch next from j_cur into @workno,@reqrate 
end --1

--3.关闭游标
close j_cur

--4.删除游标
deallocate j_cur

备忘: 
1)如果调用的存储过程中使用”游标”,则当前调用语句中使用的游标定义名称不能跟 调用过程中的游标名相同, 否则会出错!!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值