这些是我提供的类型定义
create type IR as (pattern_number integer, uoc_number integer);
我目前的进展是:
create or replace function q1(pattern text, uoc_threshold integer)
returns setof IR
as $$
BEGIN
RETURN QUERY
select count(code) from temp where code like $1;
RETURN QUERY
select count(code) from temp where code like $1 and uoc > $2;
END;
$$ language plpgsql;
我的输出需要像这样: 查询: -
select *
from q1('ECO%', 6);
pattern_number | uoc_number
80 | 5
我收到错误说:
错误:查询结构与功能结果类型不匹配
DETAIL:返回类型bigint与第1列中的预期类型整数不匹配。
语境:RET / QUERY中的PL / pgSQL函数q1(文本,整数)第3行
我该如何解决这个问题?
答案 0 :(得分:1)
这是你想要的吗?..
create or replace function q1(pattern text, uoc_threshold integer)
returns setof IR
as $$
BEGIN
RETURN QUERY
select (select count(code) from temp where code like $1)::integer
,(
select count(code) from temp where code like $1 and uoc > $2)::integer;
END;
$$ language plpgsql;