我已经定义了一个函数:
create or replace function get_matches(_mia match_input[])
returns setof contact_index
我想创建一个这个函数的重载版本,它将接受一个match_input对象:
create or replace function get_matches(_mi match_input)
returns setof contact_index
as $func$
begin
select get_matches(array[_mi]);
end
$func$
language plpgsql strict;
它编译得很好,但是当我运行它时会出现这个错误:
ERROR: query has no destination for result data
答案 0 :(得分:3)
在PL / pgSQL函数中,您需要使用return query
create or replace function get_matches(_mi match_input)
returns setof contact_index
as $func$
begin
return query select get_matches(array[_mi]);
end
$func$
language plpgsql
strict;
或者使用SQL函数:
create or replace function get_matches(_mi match_input)
returns setof contact_index
as $func$
select get_matches(array[_mi]);
$func$
language sql
strict;