我們今天要向大家討論的是Oracle查詢指定記錄數時出現的奇怪問題,我們首先是以相關代碼的方式來引出所要討論的問題,以下就是文章的詳細內容介紹,希望會給你帶來一些幫助在此方面。
首先看一段代碼:
- dbo.getPreparedStatement
(”select * from (select * from Entity_HotLink where hotLinkSortId =
? and hotLinkStatus = ? order by hotLinkOrder ASC, lastModifIEdDate DESC) where ROWNUM <= ?");- dbo.pstmt.setInt(1, hotLinkSortId);
- dbo.pstmt.setInt(2, hotLinkStatus);
- dbo.pstmt.setInt(3, count);
環境1:Windows + Oracle 10g 正常
環境2: Redhat E5.2 64bit + Oracle 10g(RAC集群) 查詢執行,但是返回記錄數只有10條,不管你的count有多大。
改成
- dbo.getPreparedStatement
(”select * from (select * from Entity_HotLink where hotLinkSortId =
? and hotLinkStatus = ? order by hotLinkOrder ASC, lastModifIEdDate DESC) where ROWNUM <= " + count);- dbo.pstmt.setInt(1, hotLinkSortId);
- dbo.pstmt.setInt(2, hotLinkStatus);
則都能正常查詢記錄。此問題比較奇怪有問題再研究研究。