Bonjour à tous,
j'ai un petit souci avec un trigger qui doit normalement interdire l'ajout, la modification et la suppression d'un trajet (je travaille sur une base TRAIN) dont la date est inférieure à la date système.
Voici le code :
Aucun problème de compilation, mais à l'insert d'un enregistrement j'ai les erreurs suivantes :
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 create or replace TRIGGER TRIGGER_DATE_TRAJET BEFORE INSERT OR UPDATE OR DELETE ON TRAJET FOR EACH ROW declare datedepart date; ExDateInf Exception; begin select JOUR into datedepart from trajet where numtrajet = :new.numtrajet; if datedepart<sysdate then raise ExDateInf; end if; Exception when ExDateInf then raise_application_error(-20005,'Impossible car la date du trajet est inférieure à la date du jour'); end;
Cela viendrait-il du if datedepart<sysdate then ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Error report: SQL Error: ORA-01403: aucune donnée trouvée ORA-06512: à "PERCEUSEKILLER.TRIGGER_DATE_TRAJET", ligne 5 ORA-04088: erreur lors d'exécution du déclencheur 'PERCEUSEKILLER.TRIGGER_DATE_TRAJET' 01403. 00000 - "no data found"
Merci par avance pour vos conseils.
Partager