Rowid說明

oracle爲每個表的每一條記錄都賦予了一個唯一的標識號rowid
它是僞列,在定義表結構時並不聲明它,但是系統自動建立.
用desc查看的表結構的時候見看不到該字段.
用rowid來進行update,delete等操作時速度最快.
而且oracle7和oracle8及以後版的rowid不同:

oracle 7 的rowid由三部分組成:
block.row.file
BBBBBBBB.RRRR.FFFF
文件塊號.塊中的行號.文件的絕對號

oracle 8    8i       9i的rowid由四部分組成:
OOOOOOFFFBBBBBBRRR
OOOOOO:數據對象號,表示數據庫段的編號
FFF表在空間中的相對文件號
BBBBBB:在一個文件中的塊號
RRR塊中行的位置號

rowid數據類型的使用:
rowidtochar:把rowid轉換成char類型.

select rowidtochar(a.rowid) from testa a where rownum<=1
AABj3OAEoAAAHpjAAA

select chartorowid('AABj3OAEoAAAHpjAAA') from dual
AABj3OAEoAAAHpjAAA

發佈了46 篇原創文章 · 獲贊 10 · 訪問量 32萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章