处理大表 - 如何逐页选择记录?
我需要对表中的所有记录执行一个过程。该表可能非常大,所以我宁愿逐页处理记录。我需要记住已经处理过的记录,因此我的第二个SELECT结果中没有包含这些记录。
像这样:
对于第一次运行,
[从MyTable中选择100条记录]
第二轮,
[从MyTable中选择另外100条记录]
等等..
我希望你能得到这张照片。我的问题是如何编写这样的select语句?
我正在使用oracle btw,但如果我可以在任何其他数据库上运行也会很好。
我也不想使用商店程序。
非常感谢你!
没有找到相关结果
已邀请:
2 个回复
芜任亮蜡
荤碗
你也可以用FIRST_ROWS提示做同样的事情:
我更喜欢rownum方法,因此您不必继续更改提示中的值(这需要表示结束值而不是实际返回到页面的行数是准确的)。您可以将开始和结束值设置为绑定变量,这样就可以避免硬解析。 有关详细信息,请查看此帖子