我在Oracle中发现了很多分页的例子。我正在使用的特定一个现在看起来是这样的:为任何查询实现Oracle分页?
SELECT * FROM (
SELECT a.*, ROWNUM RNUM FROM (
**Select * From SomeTable**) a
WHERE ROWNUM <= 500) b
WHERE b.RNUM >= 1
粗体的行表示'原始'查询。其余的SQL就是实现分页。我遇到的问题是一个完全有效的查询;当我把它放在我的分页代码中时会失败。
举个例子 - 这个查询将失败:
SELECT TABLE1.*, TABLE1.SomeValue FROM TABLE1
有了暧昧列错误。但是,没有我的额外代码;它会运行得很好。我有大量的“保存”查询,但我必须确保我的分页解决方案不会使其失效。
我已经使用SQL Developer作为我的Oracle查询工具,它设法实现分页,即使在上面的查询失败时也能正常工作,当我将其包含在分页代码中时,分页失败。任何人都可以告诉我他们如何设法将其拉下来?
你应该不正常 “'SELECT *'” 反正。枚举内部查询中的所有列以消除不明确性,从而使查询对模式更改具有弹性(例如,将列添加到表中时)。 – 2011-04-05 00:35:14