gpt4 book ai didi

postgresql - SELECT FROM 返回具有任意列数的记录的函数

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

我正在使用 PostgreSQL 数据库。

我有一个 plpgsql FUNCTION,它返回一个包含任意数量列的 record
由于这种任意性,我需要使用类似的东西:

SELECT * FROM my_function(97)

但这不起作用,因为 Postgres 给我以下错误:

a column definition list is required for functions returning "record"

但如果我这样做:

SELECT my_function(97)

我可以看到预期的结果,但封装在一个列中。

有没有办法按照函数的预期将预期结果作为一组列获取,而不是将所有列封装起来?

最佳答案

当函数只是RETURNS recordSETOF record(并且没有OUT 参数)时,PostgreSQL 不知道名字及其元素的类型,您需要在每次调用时提供列定义列表。

尽可能避免这种情况,并返回一个众所周知的(行)类型。有几种方法可以声明返回类型。见:

SO上有不少相关问题。 Try a search!

关于postgresql - SELECT FROM 返回具有任意列数的记录的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9164031/

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