定义自定义函数get_rowid获得rowid的详细信息。
SYS@ tsid > create or replace function get_rowid
2 (l_rowid in varchar2)
3 return varchar2
4 is
5 ls_my_rowid varchar2(200);
6 rowid_type number;
7 object_number number;
8 relative_fno number;
9 block_number number;
10 row_number number;
11 begin
12 dbms_rowid.rowid_info(l_rowid,rowid_type,object_number,relative_fno,block_number,row_number);
13 ls_my_rowid :='Object# is :'||to_char(object_number)||chr(10)||
14 'Relative_fno is :'||to_char(relative_fno)||chr(10)||
15 'Block number is :'||to_char(block_number)||chr(10)||
16 'Row number is :'||to_char(row_number);
17 return ls_my_rowid;
18 end;
19 /
Function created.
SYS@ tsid > select rowid,id,name from t where id=1;
ROWID ID NAME
------------------ ---------- --------
AAADJrAAEAAAAAPAAA 1 a
SYS@ tsid > select get_rowid('AAADJrAAEAAAAAPAAA') row_id from dual;
ROW_ID
--------------------------------------------------------------------
Object# is :12907
Relative_fno is :4
Block number is :15
Row number is :0
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25744374/viewspace-729893/ ,如需转载,请注明出处,否则将追究法律责任。