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 :

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;
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
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"
Cela viendrait-il du if datedepart<sysdate then ?

Merci par avance pour vos conseils.