J'ai un TP en BDD qui consiste à creer une trigger pour empecher qu'un soit emprunter deux fois sans qu'il est était rendu.
Voici mon 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 trigemprunt
BEFORE INSERT
ON emprunt
FOR EACH ROW 
 
DECLARE
erreur_v EXCEPTION;
 
BEGIN
 
IF (num_livre = :new.num_livre AND date_retour is NULL) THEN
RAISE erreur_v;
END IF;
 
EXCEPTION
 WHEN erreur_v THEN
 RAISE_APPLICATION_ERROR(-20001,'pas le droit d'emprunter un livre déjà emprunter');
 
END;
ET j'obtiens l'erreur suivante:
ERROR at line 12: PLS-00103: Symbole "EMPRUNTER" 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_

1. CREATE OR REPLACE TRIGGER trigemprunt
2. BEFORE INSERT
3. ON emprunt
Petite précision j'utilise oracle 10g
Merci d'avance de votre aide. Bonne journée à tous