【发布时间】:2023-03-20 20:12:01
【问题描述】:
我需要对表中的所有记录进行处理。该表可能非常大,所以我宁愿逐页处理记录。我需要记住已经处理过的记录,所以它们不会包含在我的第二个 SELECT 结果中。
像这样:
对于第一次运行, [从 MyTable 中选择 100 条记录]
第二轮, [从 MyTable 中选择另外 100 条记录]
等等..
我希望你能得到这张照片。我的问题是如何编写这样的选择语句?
顺便说一句,我正在使用 oracle,但如果我也可以在任何其他数据库上运行,那就太好了。 我也不想使用存储过程。
非常感谢!
【问题讨论】:
-
您确定需要运行多个 SELECT 吗?为什么不打开游标,获取 100 条记录,处理它们,然后获取下一批。这样您就不必跟踪已处理的内容,而且查询将在开始时保持一致。
-
Paging with Oracle的可能重复
标签: sql oracle pagination