gpt4 book ai didi

sql - 遍历关系表

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:23:51 24 4
gpt4 key购买 nike

是否可以在更改 Limit 和 offset 的值时循环遍历 postgres。我想循环直到到达关系表的末尾。我想动态设置 Limit 和 offset 的原因是我只有很少的 1 GB 虚拟内存,因此我的进程被杀死了。

目前我采用的方法是手动设置limit和offset的值。

select *  from my_relational_table limit 1000 offset 0;
select * from my_relational_table limit 1000 offset 1000;
select * from my_relational_table limit 1000 offset 2000;

是否可以在 postgres 中自动执行该过程,以便在到达关系表的末尾时停止循环。

最佳答案

是的,这是可能的。您可以使用游标和命令 FETCH。

例子:

postgres=# begin read only;
BEGIN
postgres=# declare xx cursor for select * from generate_series(1,100);
DECLARE CURSOR
postgres=# fetch 2 xx;
generate_series
-----------------
1
2
(2 rows)

postgres=# fetch 2 xx;
generate_series
-----------------
3
4
(2 rows)

postgres=# fetch 2 xx;
generate_series
-----------------
5
6
(2 rows)

postgres=# fetch 2 xx;
generate_series
-----------------
7
8
(2 rows)

postgres=# commit;
COMMIT

关于sql - 遍历关系表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16642198/

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