oracle - oracle查询批量获取行
问题描述
所以这是我的问题:我需要获取成批的行(选择语句)以迁移到另一个数据库(除 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
/
如有必要,您可以在运算符之间替换为 <= 和 >=。这是我在输出中看到的:
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
推荐阅读
- c# - UDP 客户端未监听
- scala - 避免在 Scala 期货中进行不必要的上下文切换
- python - 使用 discord.py (async) 在类别中创建频道
- node.js - create-react-app 不支持的节点版本
- python - Django 自定义身份验证模型注册表单返回唯一用户名错误
- c# - C# WPF 和 SQL Server 报告
- c++ - 可以使用 C++ 模板来推迟对其参数的评估吗?
- tensorflow - 如何使用 tensor2tensor 的蒸馏.py 将知识从教师网络提炼到学生网络?
- python - PyCharm:将 numpy 导入为 np 未注册。
- c - 从 64 位值中获取最后两个字节