oracle - 将大型 Oracle 表下载到 csv 文件
问题描述
我有一个大的 Oracle 表,我想将它下载到 csv 文件中,但是它太大了,无法一次性将表加载到内存中。我想重复查询以加载前 100,000 条记录,然后是下 100,000 条,依此类推。我的问题是确保每个查询都返回与以前不同的记录。
我使用如下所示形式的内部查询,其中 A 是主键,因此应该保证顺序。
SELECT A, B, C, rownum rn FROM my_table ORDER BY A asc
我计划有一个外部查询,使用 WHERE 子句为一系列 rn 值选择该表的块。
问题是每次我运行内部查询时, rn 的顺序都与以前不同。
提取表的唯一块的最佳方法是什么?
解决方案
您可以只对结果进行分页。
SELECT *
FROM my_table
ORDER BY A asc
OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY;
推荐阅读
- php - 如何使用php将pdf转换为文本
- java - 无法在java中使用jython导入python模块
- r - 如何根据另一列中的索引操作一列中的子字符串
- javascript - 尽管有适当的 Access-Control-Allow-* 标头,但 CORS ajax 调用失败
- excel - Excel 2016 散点图 - 如果带有公式的单元格为空白,则 x 轴上的位置错误
- elasticsearch - Logstash Elasticsearch 输出给出 401 错误
- unauthorized - Ant 媒体服务器在获取 VOD 块时使令牌无效
- amazon-web-services - 限制单个 AWS Lambda 的 AWS Secrect
- java - 按 Java List 中的第一个元素过滤
- list - 在 Robot Framework ***Variables*** 部分中将列表变量初始化为空