Voici donc l'erreur que j'ai lorsque je veux updater ma table reservation, j'ai essayé plein de chiffres différents pour le raise application erreur, mais rien n'y fait...ORA-21000: l'argument numéro d'erreur utilisé pour raise_application_error de 1 est hors limites
ORA-06512: à "LD5V.ANNULE_RESERVATION", ligne 20
ORA-04088: erreur lors d'exécution du déclencheur 'LD5V.ANNULE_RESERVATION'
Voici le code de mon trigger :
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
16
17
18
19
20
21
22
23
24
25
26
27 CREATE OR REPLACE TRIGGER annule_reservation BEFORE UPDATE ON reservation FOR EACH ROW DECLARE jourDepart DATE ; erreurDate EXCEPTION ; BEGIN SELECT jour_depart INTO jourDepart FROM vol WHERE n_vol = :new.num_Vol_res ; IF (( SYSDATE > jourDepart -2 ) AND ((:old.est_Confirme = 0) AND (:new.est_Confirme = 1)) ) THEN raise erreurDate ; END IF; EXCEPTION WHEN erreurDate THEN raise_application_error(-10000,'Il fallait confirme au moins 2 jours avant le depart.'); END; /
Bon sinon, j'ai un autre problème lié à celui ci finalement. Lorsque mon trigger se déclenche, c'est bien il affiche un message d'erreur, mais ma table est qd même modifié. Comment dire au trigger qu'il ne faut pas qu'afficher mais carrément empêcher de continuer à la requête... Peut être avec raise application error, mais comme vous pouvez le constater, ça veut pas...
Merci infiniment pour votre aide...
Partager