Postgres函数,获取“查询没有结果数据的目的地”,不想使用表结果类型

时间:2015-12-01 09:40:21

标签: postgresql plpgsql

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

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

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

Function with SQL query has no destination for result data的副本,因为我不想使用table结果类型。

1 个答案:

答案 0 :(得分:2)

使用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;