Bonjour à tous,
J'ai une table qui contient des infos géographiques lati/longi, et une autre qui reflète les données par un objet PostGis.
Je souhaite faire un trigger pour maintenir à jour la seconde table en fonction des changements de la première.
D'après les exemples, il faut passer par une fonction. J'ai fait ceci :
Mais j'obtiens 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 CREATE FUNCTION emp_stamp () RETURNS TRIGGER AS ' BEGIN IF tg_op = ''DELETE'' THEN DELETE FROM geo_nodes WHERE id = old.id; RETURN old; ELSE IF tg_op = ''INSERT'' THEN INSERT INTO geo_nodes (id, point) VALUES(new.id, ST_MakePoint(new.longitude * 0.0000001, new.latitude * 0.0000001)); ELSE IF tg_op = ''UPDATE'' THEN UPDATE geo_nodes SET point = ST_MakePoint(new.longitude * 0.0000001, new.latitude * 0.0000001) WHERE id = new.id; END IF; RETURN new; END; 'LANGUAGE 'plpgsql';
Pourquoi ça ne fonctionne pas ?ERREUR: erreur de syntaxe sur ou près de « ; »
LINE 12: END;
Pouvez-vous m'aider ?
Merci, A bientôt
Partager