gpt4 book ai didi

sql - PostgreSQL:将查询返回应用于函数

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

我有一个递归方法定义如下:

with recursive temp(id, s, r, e) as (
select *
from rel
where rel_to_id = <parameter from sql query>

union all

select *
from temp P
inner join relationship C on P.r = C.s
)

并且我需要在从 SQL 查询返回的每一行上调用它,该查询具有在递归查询中定义的列值(标记为 )

我真的不想通过 python 调用 X 查询,这会减慢速度,必须有一种方法可以在 sql 中完成。我试图在 plpgsql 中编写一个函数,但我在定义返回类型 setof TABLE 并每次都取它的并集时遇到了问题。

最佳答案

我不确定我是否完全理解这个问题,您的问题是根据您的返回值调用超过 1 个初始值的递归函数吗?

在那种情况下,您能否立即创建包含所有必需值的初始表,然后递归遍历它?像这样:

with recursive temp(id, s, r, e) as (
select *
from rel r
join <sql query> q on r.rel_to_id = q.id

union all

select *
from temp P
inner join relationship C on P.r = C.s
)

关于sql - PostgreSQL:将查询返回应用于函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7482439/

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