rowid 簡單理解理解

在數據庫中的每一行都有一個地址。然而,一些錶行的地址不是物理或永久的,或者不是ORACLE數據庫生成的。
例如,索引組織錶行地址存儲在索引的葉子,可以移動。
例如,外部表的ROWID(如通過網關訪問DB2表)不是​​標準的ORACLE的rowid。
ORACLE使用通用的ROWID(UROWIDs)的存儲地址的索引組織表和外表。索引組織表有邏輯urowids的,和國外表的外urowids,。UROWID這兩種類型的存儲在ROWID僞(堆組織的表的物理行id)。
創建基於邏輯的rowid在表中的主鍵。邏輯的rowid不會改變,只要主鍵不改變。索引組織表的ROWID僞UROWID數據類型。你可以訪問這個僞列,你會堆組織表的ROWID僞(即使用一個SELECT ...ROWID語句)。如果你想存儲的rowid索引組織表,那麼你就可以定義一列的表型UROWID到列檢索值的ROWID僞。

ROWID 解釋

數據對象編號        文件編號        塊編號           行編號



Select ename,dbms_rowid.ROWID_OBJECT(ROWID) obj#,dbms_rowid.ROWID_RELATIVE_FNO(ROWID) file#,dbms_rowid.rowid_BLOCK_NUMBER(rowid) block#,dbms_rowid.ROWID_ROW_NUMBER(ROWID) ROW# from scott.emp;

驗證上圖:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章