我对Oracle并不熟悉,因为我希望成为Oracle。我有大约25万条记录,我想每页显示100条记录。目前,我有一个存储过程,它使用数据适配器,数据集和dataadapter.Fill(dataset)方法从存储过程的结果中检索所有25万记录到数据集。如果我将“页码”和“每页记录数”作为整数值,我可以将其作为参数传递,那么返回该特定部分的最佳方法是什么?比如说,如果我从选择声明中通过10作为页码,120作为页数,它会给我从1880年到1200年,或者类似的东西,我的脑中的数学可能会关闭。我认为这不是重要的,如果我可以在SQL端得到它,那么我应该很酷。与Oracle分页
更新:我能够使用布赖恩的建议,它工作得很好。我想要进行一些优化,但是页面会在4到5秒内完成,而不是一分钟,而且我的分页控制能够很好地与我新存储的特效相集成。
是ROWNUM保留字您的Oracle版本? – 2011-11-20 17:33:49
是的,它是Oracle支持的“内置”列,始终从1开始,每行增加一个。因此,在这段代码中,如果您有1000行,则应用排序顺序,然后为每行分配一个rownum。外部选择使用这些行号根据您的页面大小来查找您要查找的'页面'。 – 2011-11-20 18:54:24