Erreur sur création d'une fonction
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 :
Code:
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'; |
Mais j'obtiens un message d'erreur :
Citation:
ERREUR: erreur de syntaxe sur ou près de « ; »
LINE 12: END;
Pourquoi ça ne fonctionne pas ?
Pouvez-vous m'aider ?
Merci, A bientôt