我有以下查询独立运行良好,但在 postgres 函数中显示了许多问题
CREATE TEMP TABLE tbl (h ltree, pathid int) ;
CREATE TEMP TABLE temp_res (pathid int, res_count int) ;
insert into tbl select l_tree,pathid from tblinfo where parentid in (880);
insert into temp_res select T.pathid pathid from tblinfo p1, tbl T where index(p1.l_tree,T.h ) != -1 GROUP BY T.pathid order by T.pathid;
select p.pathid pathid, p.name name, p.PBS PBS,p.parentid parentid,p.resid resid from tblinfo p, temp_res t where t.pathid = p.pathid;
我只需要一个像
CREATE OR REPLACE FUNCTION getresourceinfo(opened_path int,tablename varchar) returns TABLE (pathid int,name varchar,pbs varchar, parentid varchar, resid int) AS $BODY$
只需要分别为 880 和 tblinfo 使用两个变量 opens_path 和 tablename 。我知道有很多关于返回表格的帖子,但是在尝试了其中的许多帖子以了解我的基本 postgres 知识后,我问任何建议都会有很大帮助。如果您觉得我的查询很笨拙,请帮助我使用一个函数,该函数需要 2 个参数一个数字 n 和表名。假设有 10 列,其中一列是序列号,现在函数应该返回所有行 >n 而不是所有行,而是表名的 2 或 3 列。