如何在postgres 8.2中使用数组作为输入参数编写函数

时间:2015-05-18 21:00:53

标签: arrays postgresql multivalue greenplum postgresql-8.2

我对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不是一个选项。

1 个答案:

答案 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;