自己结贴 create or replace procedure updatepment is cursor exp_cur is select * from expequipment m; v_exp expequipment%rowtype; begin open exp_cur; loop fetch exp_cur into v_exp; if(v_exp.parentguid='<ROOT>') then update expequipment m set parentnum='' where m.expequipmentid=v_exp.expequipmentid;
else update expequipment m set parentnum=(select eqptnum from expequipment m where m.equipmentguid=v_exp.parentguid) where m.expequipmentid=v_exp.expequipmentid;
end if; exit when exp_cur%notfound; declare cursor parm_cur is select * from expeqptparam p where p.equipmentguid=v_exp.equipmentguid; v_parm expeqptparam%rowtype; begin open parm_cur; loop fetch parm_cur into v_parm; exit when parm_cur%notfound;
update expeqptparam p set p.eqptnum=v_exp.eqptnum where p.equipmentguid=v_exp.equipmentguid; end loop; close parm_cur; commit; end; end loop; close exp_cur; end updatepment;
create or replace procedure updatepment
is
cursor exp_cur is select * from expequipment m;
v_exp expequipment%rowtype;
begin
open exp_cur;
loop
fetch exp_cur into v_exp;
if(v_exp.parentguid='<ROOT>')
then
update expequipment m set parentnum='' where m.expequipmentid=v_exp.expequipmentid;
else
update expequipment m set parentnum=(select eqptnum from expequipment m
where m.equipmentguid=v_exp.parentguid) where m.expequipmentid=v_exp.expequipmentid;
end if;
exit when exp_cur%notfound;
declare
cursor parm_cur is select * from expeqptparam p where p.equipmentguid=v_exp.equipmentguid;
v_parm expeqptparam%rowtype;
begin
open parm_cur;
loop
fetch parm_cur into v_parm;
exit when parm_cur%notfound;
update expeqptparam p set p.eqptnum=v_exp.eqptnum
where p.equipmentguid=v_exp.equipmentguid; end loop;
close parm_cur;
commit;
end;
end loop;
close exp_cur;
end updatepment;