Postgres函数,获取"query has no destination for result data",不想使用表结果类型



我正在编写一个简单的postgres函数。此函数的结果应该是"events"表中的一行。我有以下内容:

create or replace function featured_event() returns setof events as
$$
begin
select events.* from events where featured is true;
end
$$ LANGUAGE plpgsql; 

我不想硬编码列,而是使用现有表中的结构作为返回类型。

这是而不是由于我不想使用table结果类型,带有SQL查询的Function的副本没有结果数据的目标。

使用SQL函数:

create or replace function featured_event() returns setof events as
$$
    select events.* from events where featured is true;
$$ LANGUAGE sql; 

在plpgsql中,您应该使用return query:

create or replace function featured_event_plpgsql() returns setof events as
$$
begin
    return query select events.* from events where featured is true;
end;
$$ LANGUAGE plpgsql; 

最新更新