postgresql – 如何从PLpgSQL函数返回多行?

postgresql – 如何从PLpgSQL函数返回多行?,第1张

概述我花了很多时间试图解决它,但我无法解决它.所以,我需要你的帮助. 我正在尝试编写一个返回多行的PL / pgSQL函数.我写的函数如下所示.但它没有用. CREATE OR REPLACE FUNCTION get_object_fields()RETURNS SETOF RECORDAS $$DECLARE result_record keyMetrics;BEGIN retu 我花了很多时间试图解决它,但我无法解决它.所以,我需要你的帮助.

我正在尝试编写一个返回多行的PL / pgsql函数.我写的函数如下所示.但它没有用.

CREATE OR REPLACE FUNCTION get_object_fIElds()RETURNS SetoF RECORDAS $$DECLARE result_record keyMetrics;BEGIN    return query SELECT department_ID into result_record.visits     from fact_department_daily     where report_date='2013-06-07';    --return result_record;END$$LANGUAGE plpgsql; SELECT * FROM get_object_fIElds;

它返回此错误:

ERROR: RETURN cannot have a parameter in function returning set;
use RETURN NEXT at or near “query”

解决方法 我看到更多的错误:

首先,SET RETURNING FUNCTIONS调用具有以下语法

SELECT * FROM get_object_fIElds()

second – RETURN query将查询结果直接转发给输出.你不能将这个结果存储到变量中 – 现在在Postgresql中是不可能的.

BEGIN  RETURN query SELECT ....; -- result is forwarded to output directly  RETURN;   -- there will not be any next result,finish executionEND;

第三 – 这些简单的函数最好用sql语言实现

CREATE OR REPLACE FUNCTION get_object_fIElds()RETURNS SetoF RECORD AS $$SELECT department_ID WHERE ...$$LANGUAGE sql Stable;
总结

以上是内存溢出为你收集整理的postgresql – 如何从PL / pgSQL函数返回多行?全部内容,希望文章能够帮你解决postgresql – 如何从PL / pgSQL函数返回多行?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1155651.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存