使用plpgsql循环到多个表

时间:2018-03-06 10:01:26

标签: postgresql plpgsql

我试图整理2个表,并在每次迭代时获取记录,然后根据返回的这两行执行查询。

CREATE OR REPLACE FUNCTION buffer_oe() RETURNS SETOF sige.buffer AS
$BODY$
DECLARE
    r sige.buffer%rowtype;
    r1 sige.object_elevation%rowtype;
BEGIN
    FOR r IN SELECT * FROM sige.buffer poly
    LOOP
        RETURN NEXT r; 
    END LOOP;
        FOR r1 IN SELECT * FROM sige.object_elevation oe
    LOOP
        RETURN NEXT r1; 
    END LOOP;
    select true  from sige.buffer poly,sige.object_elevation oe
    where st_intersects(r.geom,r1.geom) and r.id<>r1.id;
    RETURN;
END
$BODY$
LANGUAGE 'plpgsql' ;

当我执行该函数时,我收到此错误;给Return Next

的记录类型错误

我是plpgsql的新手。我不知道自己错过了什么,你的帮助很宝贵。 感谢。

0 个答案:

没有答案