create or replace FUNCTION MAJ_LIB_PAYS
RETURN VARCHAR2 AS
begin
declare
cursor cur_adresse is select enreg_id_pays,xact_date,xact_time,rowid from qui.adresse;
v_lib_pays varchar2(2000);
begin
for rcur_adresse in cur_adresse loop
dbms_output.put_line(
rcur_adresse.enreg_id_pays||'|'||
rcur_adresse.xact_date ||'|'||
lpad(to_char(rcur_adresse.xact_time),6,'0')
);
select *
into v_lib_pays
from (select lib_pays
from qui.pays
where id_pays = rcur_adresse.enreg_id_pays
and modify_date||lpad(to_char(modify_time),6,'0') <= rcur_adresse.xact_date||lpad(to_char(rcur_adresse.xact_time),6,'0')
order by modify_date desc, modify_time desc)
where rownum =1;
update qui.adresse set pays=v_lib_pays where rowid=rcur_adresse.rowid;
end loop;
commit;
end;
RETURN NULL;
END;
Partager