Dans la table « Appartenance » lier A, B, C et D au carré et les autres points au rectangle.
J'ai écris un déclencheur qui indique que la valeur saisie est incorrecte lorsque l’on insère un point qui
existe déjà dans la table (parce qu’un point ne peut appartenir qu’à une seule figure).
Il me retourne un message d'erreur :
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
21
22
23
24
25
26
27
28
29 CREATE OR REPLACE FUNCTION public.verif_appartenance() RETURNS trigger AS $BODY$ BEGIN DECLARE existedeja INTEGER; SELECT EXISTS( SELECT * FROM Appartenance WHERE labelPoint = NEW.labelPoint ) INTO existedeja; IF existedeja THEN erreur('impossible, Point déjà pris!') END IF; END; $BODY$ LANGUAGE plpgsql COST 100; ALTER FUNCTION public.verif_appartenance() OWNER TO postgres; CREATE TRIGGER verif_appartenance BEFORE INSERT ON Appartenance FOR EACH ROW EXECUTE PROCEDURE verif_appartenance()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 ERREUR: erreur de syntaxe sur ou près de « EXISTS » LINE 8: SELECT EXISTS( SELECT * ^ CONTEXT: nom de type « EXISTS( SELECT * FROM Appartenance WHERE labelPoint » invalide ********** Erreur ********** ERREUR: erreur de syntaxe sur ou près de « EXISTS » État SQL :42601 Caractère : 146 Contexte : nom de type « EXISTS( SELECT * FROM Appartenance WHERE labelPoint » invalide
Partager