rownum 詳解
ROWNUM是一個序列,是oracle資料庫從資料檔案或緩衝區中讀取資料的順序。它取得第一條記錄則rownum值為1,第二條為2,依次類推。
如果 你用>,>=,=,between…and這些條件,因為從緩衝區或資料檔案中得到的第一條記錄的rownum為1,則被刪除,接著取下 條,
可是它的rownum還是1,又被刪除,依次類推,便沒有了資料。
rownum 的原理
題目:
1.drop table t;
create table t as select rownum rn from dba_objects where rownum <= 100;
2. select * from t where rownum =1 ;
select * from t where rownum >=1 ;
select * from t where rownum >=5 ;
select * from t where rownum =5 ;
select * from t where rownum <=5 ;
rownum是在執行期間生成的資料,沒有1,怎麼可能有2
rownum在oralce內編寫方式
select * from t where rownum =1 ;
begin
rownum = 1
For x in ( select * from t ) --rownum=1,可以進入迴圈
Loop
if ( rownum = 1 )
then
output date
rownum = rownum+1
end if;
End loop;
end;
select * from t where rownum >=5 ; ----因為rownum=1.所以直接退出迴圈,沒有輸出
rownum = 1
For x in ( select * from t )
Loop
if ( rownum >= 5 )
then
output date
rownum = rownum+1
end if;
End loop;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21861353/viewspace-757908/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle ROWNUMOracle
- Rownum分頁故障解決一例
- oracle的rownumOracle
- 【Oracle】-【ROWNUM與索引】-索引對ROWNUM檢索的影響Oracle索引
- oracle偽列rownumOracle
- Oracle中的rownumOracle
- Oracle:On ROWNUM and Limiting ResultsOracleMIT
- lightdb -- Oracle相容 -- rownumOracle
- 【 Oracle中rownum的用法 】Oracle
- rownum—top-N分析
- Oracle Rownum分頁改寫Oracle
- rownum偽列的應用
- Oracle的rownum原理和使用Oracle
- Oracle中的Rownum 欄位Oracle
- 關於Oracle偽列rownumOracle
- ORACLE 中ROWNUM用法總結!Oracle
- ORACLE 中ROWNUM用法總結Oracle
- 【實驗】【SQL】排序與rownum的關係暨利用rownum處理一實際需求SQL排序
- Oracle中rownum和row_number()Oracle
- 利用rownum分組排序去重排序
- rowid和rownum的區別
- 使用rownum減少函式呼叫函式
- ORACLE 中ROWNUM用法總結! (轉)Oracle
- oracle中rownum和rowid的區別Oracle
- 使用rownum及replace實現行轉列
- oracle 使用rownum進行分頁的陷阱Oracle
- ORACLE 中ROWNUM(偽列)用法解析(轉載)Oracle
- 查詢與插入資料使用rownum與level
- 【oracle rowid與rownum的使用與區別 】Oracle
- ROWID與ROWNUM的簡介與對比
- oracle 使用rownum進行分頁的陷阱(2)Oracle
- oracle中基於ROWNUM的查詢的返回Oracle
- http協議/cookie詳解/session詳解HTTP協議CookieSession
- Lombok 註解詳解Lombok
- Java註解詳解Java
- Java 註解詳解Java
- Java註解最全詳解(超級詳細)Java
- oracle rownum分頁與顯示記錄小測Oracle