想在Postgres函数中一次性传递多个参数得到输出

Want to get output by passing multiple parameters in one go in Postgres function

 dps.ds_parts_countertickets_open(locationid)

我们通过将 locationid 作为参数传递来访问函数,例如:要获取 locationid=1 的输出,我们将编写,

select * 
from dps.ds_parts_countertickets_open(1).

现在我想获取 2 个 locationids simultaneously/in 一个输出的数据。例如:一次性获得 locationid=1 和 locationid=2 的输出。我该怎么做?

一种方法是 variadic function 可以接受可变数量的参数。这些可以在函数主体的 PostgreSQL 数组中访问。

另一种方法当然是让函数接受一个数组作为参数。

使用对你的情况更方便的任何东西。

使用横向连接:

select * 
from (values (1), (2)) v(id) cross join lateral
     dps.ds_parts_countertickets_open(v.id)