游标实例 Oracle
游标实例:
declare cursor cur_mrbd is
select mrbd_line, mrbd_part, mrbd_pt_desc, mrbd_src_nbr, mrbd_qty, mrbd_price, mrbd_curr, mrbd_vat, pt_um
from mrbd_det join pt_mstr on mrbd_part = pt_part
where mrbd_nbr = var_mrb_nbr
order by mrbd_line;
begin
open cur_mrbd;
loop
fetch cur_mrbd into var_mrbd_line, var_mrbd_part, var_mrbd_pt_desc, var_mrbd_src_nbr,
var_mrbd_qty, var_mrbd_price, var_mrbd_curr, var_mrbd_vat, var_pt_um;
exit when cur_mrbd%notfound;
--插入sdh_hist记录
insert into sdh_hist(sdh_site, sdh_so_nbr, sdh_sod_line, sdh_dn_dn, sdh_dnd_line,
sdh_dn_date, sdh_ord_date, sdh_cust, sdh_part, sdh_qty_ord, sdh_qty_spare,
sdh_qty_shp, sdh_qty_spare_shp, sdh_um, sdh_um_rate_m, sdh_um_rate_d,
sdh_sod_price, sdh_curr, sdh_ex_rate, sdh_so_vat,
sdh_dn_type, sdh_so_slspsn, sdh_cost, sdh_crt_by, sdh_crt_date, sdh_prog_code,
sdh_char1, sdh_char2, sdh_char3, sdh_char4, sdh_char5, sdh_char6, sdh_qty1, sdh_qty2)
values(var_mrb_site, var_mrbd_src_nbr, 0, var_mrb_nbr, var_mrbd_line,
var_mrb_date, var_mrb_date, var_mrb_vend, var_mrbd_part, 0, 0,
var_mrbd_qty * var_sign, 0, var_pt_um, 1, 1,
var_mrbd_price, var_mrbd_curr, GetExRate(var_mrbd_curr, var_mrb_date), var_mrbd_vat,
'R', var_mrb_slspsn, 0, var_user, sysdate, var_mrb_prog_code,
var_mrbd_pt_desc, '', '', '', '', '', 0, 0);
end loop;
close cur_mrbd;
end;
与你共亲到无可亲密时,便知友谊万岁是尽头。

浙公网安备 33010602011771号