gpt4 book ai didi

Oracle查询获取批量行

转载 作者:行者123 更新时间:2023-12-02 17:08:50 24 4
gpt4 key购买 nike

所以这是我的问题:我需要获取成批的行(选择语句)以迁移到另一个数据库(除了 Oracle)。

建议的解决方案:我批量处理行(也许使用 rowid?)示例:

batch1: 0-10000, 
batch2: 10000 - 20000,
batchn: 10000(n) - 10000(n+1)

那么我的查询应该是什么?

batch1: select * from table_name where rownum >= 0 and rownum < 10000,
batch2: select * from table_name where rownum >= 10000 and rownum < 20000,
batch n: select * from table_name where rownum >= 10000*n and rownum < 10000*(n+1)

这不起作用,(只有第一个选择会起作用)。

PS,我正在从 nodejs 应用程序中提取这些数据,因此我在 for 循环中发送这些批量查询。

最佳答案

为了说明我的评论:

-- Between rows --
SELECT * FROM
( SELECT deptno, ename, sal, ROW_NUMBER() OVER (ORDER BY ename) Row_Num
FROM scott.emp
)
WHERE Row_Num BETWEEN 5 and 10
/

如有必要,您可以将 between operator 替换为 <= 和 >=。这是我在输出中看到的内容:

DEPTNO  ENAME   SAL    ROW_NUM
20 FORD 3000 5
30 JAMES 950 6
20 JONES 2975 7
10 KING 5000 8
30 MARTIN 1250 9
10 MILLER 1300 10

关于Oracle查询获取批量行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50335005/

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