Rownum和Rowid是Oracle數據庫中兩個不同的概念。
Rownum是一個偽列,它是在查詢結果中按順序分配的行號。Rownum是在查詢結果返回之后計算的,而不是在查詢時就確定的。它對應的是查詢結果集中的行號,而不是表中的實際物理行號。Rownum是用來篩選行的,比如可以使用Rownum來限制返回的行數。
Rowid是一個包含了行的物理地址信息的唯一標識符。它是每一行在表中的唯一標識,可以用來直接訪問表中的特定行。Rowid是在行插入時生成的,每次插入都會生成不同的Rowid。Rowid是用來定位表中的特定行的,比如可以使用Rowid來更新或刪除特定的行。
總的來說,Rownum是用來篩選行的,而Rowid是用來定位行的。它們之間的主要區別在于Rownum是在查詢結果中的行號,而Rowid是行的物理地址唯一標識。