PostgreSQL 函数
Postgresql functions
这些是提供给我的类型定义
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 ;
RETURN QUERY
select count(code) from temp where code like and uoc > ;
END;
$$ language plpgsql;
我的输出需要是这样的:
查询:-
select *
from q1('ECO%', 6);
pattern_number | uoc_number
80 | 5
我收到一条错误消息:
ERROR: structure of query does not match function result type
DETAIL: Returned type bigint does not match expected type integer in column 1.
CONTEXT: PL/pgSQL function q1(text,integer) line 3 at RETURN QUERY
我该如何解决这个问题?
是你想要的吗?..
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 )::integer
,(
select count(code) from temp where code like and uoc > )::integer;
END;
$$ language plpgsql;
这些是提供给我的类型定义
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 ;
RETURN QUERY
select count(code) from temp where code like and uoc > ;
END;
$$ language plpgsql;
我的输出需要是这样的: 查询:-
select *
from q1('ECO%', 6);
pattern_number | uoc_number
80 | 5
我收到一条错误消息:
ERROR: structure of query does not match function result type
DETAIL: Returned type bigint does not match expected type integer in column 1.
CONTEXT: PL/pgSQL function q1(text,integer) line 3 at RETURN QUERY
我该如何解决这个问题?
是你想要的吗?..
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 )::integer
,(
select count(code) from temp where code like and uoc > )::integer;
END;
$$ language plpgsql;