| 12
 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
 
 | Create or replace trigger conc.modif_trv
after update on conc.travailleur
for each row
declare
    TABLE_MUTANTE EXCEPTION;
    PRAGMA EXCEPTION_INIT(TABLE_MUTANTE, -4091);
    begin
        merge into conc.accidente_travail cible
        using (
        select  v.numaccid , v.numcn , v.numsinist ,v.nom_accidente ,v.prenom_accidente , 
        v.acctype ,v.accdatenais ,v.accprof ,v.accsexe, v.accdatesaisie , v.accdatemodif
        from conc.v_atmp_travailleur v
        where v.numcn=:new.trvnum) source
        on (source.numcn=cible.numcn)
        when matched then
        update
            set
            cible.numaccid=source.numaccid, cible.nom_accidente=source.nom_accidente, cible.prenom_accidente=source.prenom_accidente,
            cible.accdatemodif=source.accdatemodif
        when not matched then
        insert values (source.numaccid, source.numcn, source.numsinist,source.nom_accidente,source.prenom_accidente,
        source.acctype, source.accdatenais, source.accprof, source.accsexe, source.accdatesaisie, source.accdatemodif);
        --Gestion de l'erreur TABLE MUTANTE
        EXCEPTION
        WHEN TABLE_MUTANTE THEN 
        DBMS_OUTPUT.PUT_LINE('Fausse alerte');
    end; | 
Partager