这些是提供给我的类型定义
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行
我该如何解决?
这是你想要的吗?..
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;