大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说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;
代码100分
loop 的话空值时不会赋值的
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10846.html