ROWID伪列
ROWID偽列概念:
在數據表中每一行所保存的記錄,oracle會為每條記錄分配一個唯一的地址編號,這個編號就是通過ROWID表示的。
所有的數據都利用ROWID進行定位。
?
觀察rowid的存在
?
SQL> select rowid,deptno,dname,loc from dept;ROWID DEPTNO DNAME LOC ------------------ ---------- -------------- ------------- AAAR3vAAEAAAACHAAA 10 ACCOUNTING NEW YORK AAAR3vAAEAAAACHAAB 20 RESEARCH DALLAS AAAR3vAAEAAAACHAAC 30 SALES CHICAGO AAAR3vAAEAAAACHAAD 40 OPERATIONS BOSTON?
以deptno為10的rowid為例:
- 數據對象號:AAAR3v
- 相對文件號:AAE
- 數據塊號:AAAACH
- 數據行號: AAA
通過函數定位出rowid的映射位置:
select rowid,dbms_rowid.rowid_object(rowid) 數據對象號,dbms_rowid.rowid_relative_fno(rowid) 相對文件號,dbms_rowid.rowid_block_number(rowid) 數據塊號,dbms_rowid.rowid_row_number(rowid) 數據行號,deptno,dname,locfrom dept;
結果:
?
?
轉載于:https://www.cnblogs.com/zydev/p/6254585.html
總結
- 上一篇: angularjs 1.x $q模块使
- 下一篇: 正则表达式范例