Réponse de Oracle
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 CREATE OR REPLACE TRIGGER trigger_prix_activite BEFORE INSERT ON Activite FOR EACH ROW DECLARE LN$Num Station.tarif%Type ; BEGIN SELECT tarif INTO LN$Num FROM Station WHERE Station.nomStation = :NEW.nomStation; IF (:NEW.prix >= LN$Num) THEN raise_application_error(-20000,'Erreur trigger prix_activite'); END IF; END; /
Donc en théorie il lève bien l'exception quand j'essaye de rentrer le prix d'une activité supérieur au tarif d'un séjour. Néanmoins, je ne suis pas sure que les trois lignes suivantes doivent apparaitre. Et en gros visiblement il me montre une belle grosse erreur. Mais disons que sqlplus est pas doué pour pointer du doigt précisément une erreur et comme on débute seulement les triggers en cours... Et pourtant ce code est déjà inspiré du net
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SQL> insert into Activite values('Marbela', 'Musee de la France', 3000); insert into Activite values('Marbela', 'Musee de la France', 3000) * ERREUR Ó la ligne 1 : ORA-20000: Erreur trigger prix_activite ORA-06512: Ó "BAPTX.TRIGGER_PRIX_ACTIVITE", ligne 8 ORA-04088: erreur lors d'exÚcution du dÚclencheur 'BAPTX.TRIGGER_PRIX_ACTIVITE'
Si vous pouvez m'aider... Merci![]()
Partager