我正在编写一个简单的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
结果类型。
答案 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;