Oracle的rownum存在一些局限,包括:
Rownum是在查询结果集返回到客户端之前生成的,因此无法在查询中直接使用rownum进行排序或筛选操作。
在子查询中使用rownum可能产生意外结果,因为rownum是在查询结果返回前生成的,因此子查询的结果可能会受到外部查询的影响。
在使用分页操作时,rownum可能不稳定,因为在排序或筛选时可能会改变rownum的值。
在使用union等多表操作时,rownum可能无法按照预期生成,因为rownum是在返回结果前生成的。
总的来说,rownum的使用受到一些限制,需要谨慎使用以避免出现意外结果。在一些情况下,可以考虑使用ROW_NUMBER()窗口函数来替代rownum进行更灵活和稳定的分页操作。