Bonjour à tous !
Je gère une base de données sous oracle, et je dois créer un déclencheur. J'ai décidé de le faire se déclencher lorsqu'on met à jour les données de la table Employe(IdPersonne,nom,prenom,fonction,salaire,null,null) ( null et null sont des identifiants d'autres tables ).

J'ai donc le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
CREATE OR REPLACE TRIGGER Declen_avtUpdate_Employe
BEFORE UPDATE OR INSERT ON Employe
FOR EACH ROW
DECLARE
sal_diff number;
BEGIN
sal_diff := :new.salaire - :old.salaire;
DBMS_OUTPUT.PUT_LINE('Employé');
END;
Il est censé calculé la différence entre les deux salaires, et afficher Employé. Le problème, c'est qu'en faisant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
INSERT INTO Employe VALUES(1,'dupont',Type_prenoms('jean', 'Emile','Bernard'),'patron',5000,null,null);
puis

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
UPDATE Employe
set Employe.salaire = 2000
where Employe.IdPersonne = 1;
puis commit;

Le déclencheur ne se lance pas, et n'affiche pas Employe.
Je l'ai déja activé par :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
ALTER TRIGGER Declen_AvtUpdate_Employe ENABLE;
Pouvez vous m'aider s'il vous plait ?
Merci d'avance !
R.