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

Arrays 如何在postgres 8.2中使用数组作为输入参数编写函数,arrays,postgresql,multivalue,greenplum,postgresql-8.2,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中

我是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中,您可以选择裙子或鞋子,但希望显示选择两者的结果集。 由于版本的原因,变量不是选项。

创建或替换函数foo(facid bigint,dptname text[])
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;
将tblitem的集合返回为 $BODY$ 从tblitem中选择* 其中facid=1美元 和dptname=ANY($2) $BODY$ 语言sql稳定
  • 该功能可以是稳定的。
  • 当您
    从tblitem
    中选择*时,函数应返回
    设置tblitem

如果这是针对SQL Server Reporting Services的,那么为什么要使用Postgres?或者SSR是什么意思?如果你用的是博士后,为什么?我想是公司政治。但这就是我必须处理的环境,Postgres和SSR如何协同工作?他们有一个SQL server后端,但他们正在将所有内容迁移到greenplum。这就是应该讨论的信息类型。尤其是因为青梅不是Postgres。这是基于博士后的。我可以发誓我昨天试过任何一种。。不管怎样,成功了!谢谢你帮我省下了重写的时间!还有一些关于稳定的好消息