在PostgreSQL中,如何声明一个接受不同类型参数的可变参数函数?

托比亚斯·吉尔克

绝对有可能通过C API定义这样的功能,例如通过查看json_build_array()可以看到:

在此处输入图片说明

不幸的是,尝试像这样创建SQL或pl / pgSQL函数失败

CREATE OR REPLACE FUNCTION my_function( VARIADIC _args anyelement[]) RETURNS ...

这并不奇怪,因为PostgreSQL文档提到'VARIADIC'仅适用于数组(而且似乎没有anyelement []这样的东西)。没有人知道如何在不编写C函数的情况下使它起作用吗?

帕维尔·斯图尔

现在不可能了。PLpgSQL和SQL语言不适合使用,因为没有数组具有不同类型的字段。我知道,PL / Perl或PL / Python只是不支持。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何声明一个接受类型化数组参数的函数

如何在Julia中编写一个接受可变数量参数的函数?

使tqdm等函数在Python中接受不同类型的参数

实现一个接受两个不同类的参数的通用函数?

如何创建一个接受不同参数类型的通用函数

如何在Dart / Flutter中声明一个接受多个参数的函数回调?

如何声明一个将接受带有参数但不带参数的函数的函数?

如何制作一个接受另一个带有可变参数的函数

在 Rust 中,如何创建一个接受“标记组件”作为类型参数的函数?

如何声明一个泛型函数,该函数返回一个具有相同参数但其参数返回类型不同的函数(反应钩子)

如何针对不同类型的参数为一个结构实现Fn特性?

Coq 构造函数不能接受两个不同类型的参数?

如何建立一个将不同类的向量作为参数的函数族?

为什么函数的交集类型接受两个类型声明中的一个而不同时接受两个类型声明?

如何使用垂直模式定义一个函数,该函数的参数可以是2个或更多不同类型?

C ++ 20中可变参数函数中的多个受概念约束的参数包不接受第一个参数包中的参数

java中的泛型类型:如何定义一个返回多个不同类型的函数

打字稿:如何强力键入一个函数,该函数将功能图转换为具有不同类型参数的相似功能?

如何编写一个函数,该函数接受可变数量的参数(整数)并使用stdargs输出它们?

如何编写一个scala函数来接受两种类型的参数?

如何在 C 中编写一个可变参数函数,该函数接受整数并在动态字符串中将它们全部返回?

我可以声明一个可以采用不同类型的函数或结构吗?

传递一个接受任意数量和类型参数的函数作为类模板参数

在函数接口声明中,如何传递另一个函数接口作为参数?

具有不同类型参数的可变参数函数传递给它

如何使用 C++ 中的给定伪代码创建一个递归的可变参数函数?

如何声明函数一次传递一个参数argv [i]?在C中

如何使一个函数接受另一个函数的值的参数?

如何使一个函数接受其他函数作为参数(没有已知参数)