我只是想知道如何在 PostgreSQL(从 12.x 开始)中为heterogeneous
VARIADIC 函数编写包装函数,例如jsonb_build_object
?
我能找到的大多数 VARIADIC 函数的 SQL 示例都不是异构的。VARIADIC 部分本质上是相同类型元素的数组。但我需要编写一个包装器jsonb_build_object
来进行一些后期处理。这里,可变参数部分(键值列表)中的参数类型是不一样的。
目前,我写道:
my_func(jsonb_build_object(k1, v1, k2, v2, ...))
但是这个样板变得无聊......
jsonb_build_object()
VARIADIC "any"
作为输入。伪类型"any"
是任何输入类型的占位符。目前,这只适用于 C 函数。手册:对于使用另一种过程语言的实现,没有一对一的翻译。可能有解决方法,具体取决于您的确切目标。