gpt4 book ai didi

sql - 通过来自不同未链接表的不同字段的连续循环

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

我有几个表格展示了网站上的不同实体。它们之间的联系对我的任务无关紧要。 (这也不是我的设计)。我想通过一些文本字段来完成翻译、拼写检查等艰苦的工作。文本很多

我的问题是:我可以按顺序查询所有这些表的 FOR 循环吗?下面的示例中的 array_cat 是否是一个适当的决定,或者它会吃掉我所有的 ram?还有另一种变体 - 创建第二个函数,接收表名作为参数。我很乐意选择一个更简单的决定。

下面的测试示例不适用于 array_cat 中的语法错误。运算符 ||也给我语法错误。

DO
$$
DECLARE
qs TEXT;
BEGIN
FOR qs IN array_cat( -- as @ammoQ suggested to do UNION ALL
SELECT array_agg(messages) FROM posts UNION ALL
SELECT array_agg(comments) FROM boards )
LOOP
-- here I need: count chars really processed
-- to do not exceed the billing quota of external api
-- then make an UPSERT into cache table for another long process
-- if quota is not exceeded
END LOOP;
-- and return total of processed symbols
END;
$$ LANGUAGE plpgsql;

最佳答案

使用union

编辑:删除 array_agg

DO
$$
DECLARE
qs TEXT;
BEGIN
FOR qs IN (
SELECT messages x FROM posts union all
SELECT comments FROM boards )
LOOP
RAISE DEBUG 'TEXT is %', qs.x;
END LOOP;
END;
$$ LANGUAGE plpgsql;

关于sql - 通过来自不同未链接表的不同字段的连续循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43707436/

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