The trigger below don't works and I need that when a new pipeline (adutoras) is inserted or updated, the procedure check what are the municipalities (municipios) that intersects the pipes and put the names of the municipalities inside the field "municipios_abastecidos".
CREATE OR REPLACE FUNCTION topology_fields()
RETURNS "trigger" AS
$$
BEGIN
NEW.municipios_abastecidos:=(
SELECT string_agg(municipios.nome,', ')
FROM municipios, adutoras
WHERE ST_Intersects(adutoras.geom, municipios.geom)
AND adutoras.gid = NEW.gid
);
RETURN NEW;
END;
$$
LANGUAGE 'plpgsql';
CREATE TRIGGER fill_topology_fields
BEFORE INSERT OR UPDATE ON adutoras
FOR EACH ROW EXECUTE PROCEDURE topology_fields();
Thanks in Advance