gpt4 book ai didi

sql - postgreSQL 如何为表的每个元组运行一个函数?

转载 作者:行者123 更新时间:2023-11-29 14:20:19 25 4
gpt4 key购买 nike

我有一个包含 5 个不同元组的表,我想为每一行调用一个函数。我尝试使用 for-loop 但代码有问题。首先,我想为每一行调用带有 fid(temp 的第一列)的函数另外,我在评论中有 return next r 因为我得到一个错误:不能在非 SETOF 函数中使用 RETURN NEXT。我的函数返回 void

CREATE TABLE temp3(fid numeric,des numeric,distribution numeric,code numeric,price real,fprogr numeric ,datef date);

insert into temp3(fid,des,distribution,code,price,fprogr,datef)
SELECT id,dest, count(*),fc,price,progr,fdate
FROM tableA;

FOR r IN SELECT * FROM temp3
WHERE temp3.fid > 0
LOOP
select * from u_flight2(fid);
-- RETURN NEXT r; -- return current row of SELECT
END LOOP;

最佳答案

在 Postgres 9.3 及更高版本中,您可以使用 LATERAL 关键字(描述 here ):

select u.*
from temp3 t,
lateral u_flight2(t.fid) u;

关于sql - postgreSQL 如何为表的每个元组运行一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30426515/

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