TP5.sql
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;
/