- 论坛徽章:
- 0
|
本帖最后由 luiszhu 于 2013-03-25 15:46 编辑
当ca2遇到空时,无数据时会结束程序,但其实ca1的内容还没历遍. 我需要跳出ca2,继续执行。请看看**问题?
cursor ca1 is
select PALLET_ID,CC_PART_NUM,SN_QTY,SUBINVENTORY,LOCATOR,COMMENTS
from ISS_inventory;
ca1_rec ca1%rowtype;
cursor ca2 is
select SERIAL_NUM,LAST_DDSR_DATE,LAST_OP,FIRST_DDSR_DATE
from ISS_FIFO_DDSR
where PALLET_ID = v_pallet_id;
ca2_rec ca2%rowtype;
......
begin
open ca1;
loop
fetch ca1 into ca1_rec;
exit when ca1%notfound;
v_pallet_id:=ca1_rec.PALLET_ID;
v_cc_part_num:=ca1_rec.CC_PART_NUM;
v_sn_qty:=ca1_rec.SN_QTY;
v_subinventory:=ca1_rec.SUBINVENTORY;
v_locator:=ca1_rec.LOCATOR;
v_comments:=ca1_rec.COMMENTS;
open ca2;
loop
fetch ca2 into ca2_rec;
exit when ca2%notfound;
v_sn:= ca2_rec.SERIAL_NUM;
v_last_ddsr_date:= ca2_rec.LAST_DDSR_DATE;
v_last_op:= ca2_rec.LAST_OP;
v_first_ddsr_date:= ca2_rec.FIRST_DDSR_DATE;
utl_file.put_line(out_file,v_pallet_id||','||v_cc_part_num||','||v_sn_qty||','||v_subinventory||','||v_locator||','||v_comments||','||v_sn||','||v_last_ddsr_date||','||v_last_op||','||v_first_ddsr_date);
end loop;
close ca2;
end loop;
close ca1;
end;
|
|