oracle 跳出循环loop 赋值,Oracle Loop 循环的一个赋值坑

PROCEDURE test

IS

comp_return_rec_ m_purchase_comp_return_tab%Rowtype;

barcode_hist_rec_ m_barcode_inv_tran_hist_Tab%ROWTYPE;

--

CURSOR get_comp_return IS

SELECT *

FROM m_purchase_comp_return_tab m;

--

CURSOR get_barcode_hist IS

SELECT m.*

FROM m_barcode_inv_tran_hist_Tab m , m_barcode_status_tab n

WHERE n.barcode_no = m.barcode_no

AND n.co_order_no = comp_return_rec_.bill_no

AND n.co_line_no = comp_return_rec_.item_seq_no

AND n.source = '采购订单';

BEGIN

OPEN get_comp_return;

LOOP

FETCH get_comp_return INTO comp_return_rec_ ;

EXIT WHEN get_comp_return%NOTFOUND;

barcode_hist_rec_.barcode_no := null;

OPEN get_barcode_hist;

FETCH get_barcode_hist INTO barcode_hist_rec_;

CLOSE get_barcode_hist;

IF barcode_hist_rec_.barcode_no IS NOT NULL THEN

UPDATE m_purchase_comp_return_tab m SET m.barcode_created_flag = 2

WHERE m.bill_no = comp_return_rec_.bill_no

AND m.item_seq_no = comp_return_rec_.item_seq_no ;

END IF ;

END LOOP;

CLOSE get_comp_return;

END test;

774bae7b8d7e0234afb9fdd5ea632175.png

loop 的话空值时不会赋值的

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值