Bonjour,
Je travaille sous oracle 10.g,
j'essaie de créer un triger en faisant des comparaisons sur les dates et les heures. Si le jour ou la date est déjà utilisée, je renvoie une erreur.
Voici mon trigger :
quand j'execute cette requette :
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 CREATE OR REPLACE TRIGGER verifLecon BEFORE INSERT ON CONDUITE FOR EACH ROW DECLARE nbClient number(2); nbVehicule number(2); BEGIN select count(numvehicule) into nbVehicule from conduite where :new.numvehicule = conduite.numvehicule and to_date(:new.date_conduite,'dd/mm/yyyy') = to_date(conduite.date_conduite,'dd/mm/yyyy') and to_date(:new.date_conduite,'HH24:MI') = to_date(conduite.date_conduite,'HH24:MI'); IF nbVehicule > 0 THEN RAISE_application_error(-20001, 'Nop caisse déjà enpruntée'); END IF; END;
J'ai le mesasge d'erreur suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 INSERT INTO CONDUITE VALUES(4,1,1,1,to_date('29/12/2003 14:28','DD//MM/YYYY HH24:MI'),1,'','');
ERREUR à la ligne 1 :
Je sais pas pourquoi ça me fait ça... si qqun peut me l'expliquer svp.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ORA-01850: les heures doivent être comprises entre 0 et 23 ORA-06512: à "ING502.VERIFLECON", ligne 6 ORA-04088: erreur lors d'exécution du déclencheur 'ING502.VERIFLECON'
PS : je tiens vraioment à comparer le jour et l'heure ds mon trigger.
Merci !
Partager