CREATE OR REPLACE FUNCTION get_performance_achIEve (p_month INT,p_year INT,p_uID INT) RETURNS table (fIEld1 INT,fIEld2 INT) AS $daTarows$DECLARE var_r record;BEGINfIEld1 :=0;fIEld2 :=0;FOR var_r IN(select COUNT(ID) as counter from "table_A" ) LOOP fIEld1 := (var_r.counter) ; RETURN NEXT;END LOOP;FOR var_r IN(select COUNT(ID) as counter from "table_B" ) LOOP fIEld2 := (var_r.counter) ; RETURN NEXT;END LOOP;END; $daTarows$LANGUAGE 'plpgsql';
> fIEld1,0
> fIEld1,fIEld2
如何只返回fIEld1,fIEld2的单个记录
解决方法 在这种情况下,循环是多余的,使用简单的赋值:CREATE OR REPLACE FUNCTION get_performance_achIEve (p_month INT,p_uID INT) RETURNS table ( fIEld1 INT,fIEld2 INT) AS $daTarows$BEGIN fIEld1 := (select COUNT(ID) as counter from "table_A"); fIEld2 := (select COUNT(ID) as counter from "table_B"); RETURN NEXT;END; $daTarows$LANGUAGE 'plpgsql';总结
以上是内存溢出为你收集整理的postgresql – PL / pgSQL – 从FUNCTION返回单个记录全部内容,希望文章能够帮你解决postgresql – PL / pgSQL – 从FUNCTION返回单个记录所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)