Oracle的rownum存在一些局限,包括:
Rownum是在查詢結(jié)果集返回到客戶端之前生成的,因此無法在查詢中直接使用rownum進(jìn)行排序或篩選操作。
在子查詢中使用rownum可能產(chǎn)生意外結(jié)果,因?yàn)閞ownum是在查詢結(jié)果返回前生成的,因此子查詢的結(jié)果可能會(huì)受到外部查詢的影響。
在使用分頁操作時(shí),rownum可能不穩(wěn)定,因?yàn)樵谂判蚧蚝Y選時(shí)可能會(huì)改變r(jià)ownum的值。
在使用union等多表操作時(shí),rownum可能無法按照預(yù)期生成,因?yàn)閞ownum是在返回結(jié)果前生成的。
總的來說,rownum的使用受到一些限制,需要謹(jǐn)慎使用以避免出現(xiàn)意外結(jié)果。在一些情況下,可以考慮使用ROW_NUMBER()窗口函數(shù)來替代rownum進(jìn)行更靈活和穩(wěn)定的分頁操作。