gpt4 book ai didi

postgresql - PL/pgSQL 可以从一个函数返回一个函数吗?甚至一组功能?

转载 作者:行者123 更新时间:2023-11-29 12:56:02 24 4
gpt4 key购买 nike

我可以声明一个返回类型为函数的 PL/pgSQL 函数吗?甚至一组功能?语言中甚至有函数 type 吗?

我正在考虑创建一个 PL/pgSQL 函数库的想法,该函数库可以处理函数链,以便更轻松地使用该库。类似于方法分派(dispatch)的语法是不可能的,但是从函数返回一个函数应该允许一些基本的语法魔术。不幸的是,我对 PL/pgSQL 的掌握程度还不够,无法尝试在代码示例中描述我要问的内容,我希望问题如前所述足够清楚。

这个问题的变体,Is SQL a functional language 8 年前被问到,但我的问题更具体一些(此外,该问题的第 1 个答案不正确!)。

最佳答案

有一个数据类型来表示函数引用:regprocedure .

据我所知,没有的是一种使用此类引用直接调用函数的方法。我认为你能做的最好的事情就是构造一个 SELECT 调用函数的语句,然后通过 EXECUTE 运行它。 .在这一点上,它与简单地将函数名称作为字符串传递并没有太大的不同(尽管使用 regprocedure 确实意味着大小写折叠和重载解析都会为您处理)。

如果不了解函数的输入和输出,您可能无能为力,因此您可能希望自己熟悉 pg_proc catalog .

关于postgresql - PL/pgSQL 可以从一个函数返回一个函数吗?甚至一组功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43128262/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com