我正在尝试创建一个在修改表B(多边形)时更新表A(点)的函数。必须在A中更改对B的引用。我无法使其工作。
CREATE OR REPLACE FUNCTION maj_A()
RETURNS trigger AS $foo$
BEGIN
UPDATE public."A" AS A
SET A.a = B.a,
A.b = B.b
FROM public.B AS B
WHERE ST_WITHIN(A.geom, B.geom) AND NEW.geom <> OLD.geom;
RETURN NEW;
END;
$foo$ LANGUAGE plpgsql;
我正在使用postgre 10和postgis 2.4
答案 0 :(得分:0)
以下代码回答了我的需求。
https://gist.github.com/neogis-de/a1d08c38d8b9c5d316c7
它根据重叠多边形的修改更新点图层。它只将多边形引用归属于基础点,而不会将任何内容更改为其中的点,而不再是该点。