Oracle的rownum存在一些局限,包括:
Rownum是在查詢結果集返回到客戶端之前生成的,因此無法在查詢中直接使用rownum進行排序或篩選操作。
在子查詢中使用rownum可能產生意外結果,因為rownum是在查詢結果返回前生成的,因此子查詢的結果可能會受到外部查詢的影響。
在使用分頁操作時,rownum可能不穩定,因為在排序或篩選時可能會改變rownum的值。
在使用union等多表操作時,rownum可能無法按照預期生成,因為rownum是在返回結果前生成的。
總的來說,rownum的使用受到一些限制,需要謹慎使用以避免出現意外結果。在一些情況下,可以考慮使用ROW_NUMBER()窗口函數來替代rownum進行更靈活和穩定的分頁操作。