【发布时间】:2021-11-07 03:15:17
【问题描述】:
在 Hasura,我正在尝试编写一个基于 plpgsql 的函数,该函数应该返回 t_documents。该函数应该接受各种可选参数,基于参数值,它应该运行适当的 SQL(使用 IF 条件检查)并返回记录。这是我的目标。
我从没有参数的简单函数开始,该函数在 Hasura 中成功创建和跟踪,但是当尝试查询时抛出 "query has no destination for result data"
非常感谢任何有助于实现目标的帮助
CREATE OR REPLACE FUNCTION dms.fngetdocs()
RETURNS SETOF dms.t_documents
LANGUAGE plpgsql
STABLE
AS $function$
BEGIN
SELECT *
FROM dms.t_documents;
END;
$function$
【问题讨论】:
-
因为您是来自表格的
SELECT-ing,所以您需要将结果放在某处,RETURN将这些结果放在函数末尾 -
更改为
LANGUAGE SQL,您的功能将起作用。来自 Erwin Brandstetter 的更多扩展答案stackoverflow.com/a/69138809/1168212
标签: postgresql graphql plpgsql hasura