1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
CREATE OR REPLACE TRIGGER maj_personnel
AFTER insert or UPDATE ON PERSONNEL for each row
declare
chaine_pers varchar2(100):='';
values_chaine varchar2(150) := '';
ma_req varchar2(200);
BEGIN
delete pers_trig;
-----------------------------------------------
for c in(select distinct nom_col from critere_regime_trav
union
select distinct nom_col from critere_conge
union
select distinct nom_col from critere_cycle_conge) loop
chaine_pers := chaine_pers||','||c.nom_col;
values_chaine := values_chaine||','||:new.c.nom_col;
end loop;
chaine_pers := 'cod_soc,mat_pers'||rtrim(chaine_pers,',');
values_chaine := ':new.cod_soc,:new.mat_pers'||rtrim(values_chaine,',')||')';
ma_req := 'insert into pers_trig('||chaine_pers||') values('||values_chaine;*/
execute immediate ma_req;
insert into pers_trig(cod_soc,mat_pers,COD_UR,COD_CLASS,COD_GRAD,COD_FIL,cod_serv)
values(:new.cod_soc,:new.mat_pers,:new.cod_ur,:new.cod_class,:new.cod_grad,:new.cod_fil,:new.cod_serv);
END; |
Partager