Create or replace trigger TOT_GAI after insert on interventions For each row DECLARE CURSOR MOIS_ANNEE IS SELECT Mois,Annee FROM CHIFFRE_AFFAIRE; D MOIS_ANNEE%Rowtype ;i binary_integer; DAT interventions.dateDebinterv%type; CA_MOIS CHIFFRE_AFFAIRE.Mois%type; CA_ANNEE CHIFFRE_AFFAIRE.Annee%type; BEGIN DAT := :new.dateDebinterv; CA_MOIS := EXTRACT(MONTH FROM dat);CA_ANNEE := EXTRACT(YEAR FROM dat); i:=0; for D in MOIS_ANNEE loop if(D.Mois= CA_ANNEE and D.Annee= CA_MOIS)then i:=i+1; end if; end loop; if(i=1)then update CHIFFRE_AFFAIRE set TOTAL_GAIN= TOTAL_GAIN +:new.coutInterv where Mois=CA_MOIS and Annee= CA_ANNEE; dbms_output.put_line('une ligne dans la table CHIFFRE_AFFAIRE est modifiée'); else insert into CHIFFRE_AFFAIRE values(CA_MOIS, CA_ANNEE,:new.coutInterv ); dbms_output.put_line('une ligne dans la table chiffre_aff ajouté'); end if; END; /