Tengo 2 capas en PostGIS: una capa de puntos llamada 'tdia' y una capa de polígonos llamada 'com': -la capa com contiene el nombre de la ciudad. (Polígono) -la capa tdia contiene las paradas de autobús. (punto) Quiero crear un trigger en mi capa tdia que permita recuperar el nombre de la ciudad después de crear una parada de autobús.
Mi código no funciona:
CREATE TABLE tdia (gid SERIAL NOT NULL PRIMARY KEY, numero
VARCHAR(5), CODE_INSEE VARCHAR(5), NOM_COM VARCHAR(50), date DATE, geom geometry(point, 2154))
CREATE OR REPLACE FUNCTION maj_tdia()
RETURNS "trigger" AS
$BODY$
BEGIN
UPDATE tdia SET CODE_INSEE =
(SELECT com.CODE_INSEE
FROM com, tdia
WHERE st_intersects (tdia.geometry, com.geometry));
END;
$BODY$
LANGUAGE plpgsql;
CREATE TRIGGER maj_tdia BEFORE INSERT OR UPDATE
ON tdia
FOR EACH ROW
EXECUTE PROCEDURE maj_tdia();
¿Qué estoy haciendo mal?