oracle資料庫用sql實現快速分頁

zenzuguo發表於2005-03-12
Oracle採用巢狀3層的查詢語句結合rownum來實現分頁,這在Oracle上是最快的方式,如果只是一層或者兩層的查詢語句的rownum不能支援order by。

程式:
public String getLimitString(String sql) {
StringBuffer pagingSelect = new StringBuffer(100);
pagingSelect.append("select * from ( select row_.*, rownum rownum_ from ( ");
pagingSelect.append(sql);
pagingSelect.append(" ) row_ where rownum ?");
return pagingSelect.toString();
}

sql例項:

select * from ( select row_.*, rownum rownum_ from (select * from scott.emp ) row_ where rownum 2;

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/106285/viewspace-792339/,如需轉載,請註明出處,否則將追究法律責任。

相關文章