CREATE FUNCTION change_diaoxian_chanquan() RETURNS integer AS $$
DECLARE
diangan RECORD;
BEGIN
FOR diangan IN SELECT * FROM ganlu_diangan WHERE chanquan = '自建' LOOP
IF((SELECT COUNT(*) FROM ganlu_diangan WHERE no = diangan.no) = 1) THEN
UPDATE ganlu_diaoxian SET chanquan = '自建'
WHERE (
geom
&&
(SELECT geom FROM ganlu_diangan WHERE no = diangan.no )
);
END IF;
END LOOP;
RETURN 1;
END;
$$ LANGUAGE plpgsql;
SELECT * FROM change_diaoxian_chanquan();
DROP FUNCTION change_diaoxian_chanquan();
Postgres中的函数和for循环
最新推荐文章于 2023-08-09 03:08:21 发布