我对Postgres相当新,并希望帮助编写具有数组作为输入参数的函数。我正在使用该功能进行SSRS报告,并希望添加多选功能
CREATE OR REPLACE FUNCTION foo(facid bigint, dptname text[])
RETURNS SETOF tmpdb AS
$BODY$
select * from tblitem
where dptname = $2 and facid = $1
$BODY$
LANGUAGE sql VOLATILE;
在dptname中,您可以选择连衣裙或鞋子,但希望显示选择两者的结果集。 由于版本的原因,VARIADIC不是一个选项。
答案 0 :(得分:0)
CREATE OR REPLACE FUNCTION foo(facid bigint, dptname text[])
RETURNS SETOF tblitem AS
$BODY$
select * from tblitem
where facid = $1
and dptname = ANY($2)
$BODY$
LANGUAGE sql STABLE;
ANY
should work in Postgres 8.2. STABLE
。
SELECT * FROM tblitem
时,该函数应返回SETOF tblitem
。