Bonjour,
Voila nous avons un probleme de trigger dont 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
17
18
19
20
CREATE OR REPLACE TRIGGER verif_saisie
BEFORE INSERT OR UPDATE ON gardien_heure_jour
FOR EACH ROW
declare 
       temp varchar2(10);
       test varchar2(10);
BEGIN
 
IF :NEW.heure = '10h' then temp := '9h' end if;
 
 
IF :NEW.heure<>'8h' then
       select id_parcelle into test from gardien_heure_jour where code=:NEW.code and jour=:NEW.jour and heure=temp;
      IF 
           :NEW.id_parcelle = test
      THEN
           raise_application_error(-20007,
               'La parcelle doit etre differente de la parcelle precédente');
      end if; 
  end if;
l'erreur se situe sur cette ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
IF :NEW.heure = '10h' then temp := '9h' end if;
ensuite,voici l'erreur oracle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
ERROR at line 8: PLS-00103: Symbole "END" rencontré à la place d'un des symboles suivants :
 
   * & = - + ; < / > at in is mod remainder not rem
    <> or != or ~= >= <= <> and or like LIKE2_
   LIKE4_ LIKEC_ between || multiset member SUBMULTISET_
Symbole ";" a été substitué à "END" pour continuer.
 
6.        test varchar2(10);
7. BEGIN
8. IF 
9. :NEW.heure = '10h' then temp := '9h'
10.  end if;
Merci d'avance pour votre aide !!