dbms_rowid

dbms_rowid 用於在pl/sql和sql語句中用於取得rowid相關的信息,和建立 rowid

可以取得行所在的文件號,行所在文件的數據塊號,行所在數據塊的行號,以及數據庫對象號等信息;

– 1,rowid_create
/*
該函數用於建立rowid
0–受限
1–擴展
*/
dbms_rowid.rowid_create
(rowid_type => ,object_number => ,relative_fno => ,block_number => ,row_number => )
return rowid;

declare
v_rowid rowid;
begin
v_rowid:= dbms_rowid.rowid_create(1,12,2541,521,1235);
dbms_output.put_line(v_rowid);
end;

– 2,rowid_info
/*
該過程用於取得rowid信息
*/
dbms_rowid.rowid_info(rowid_in,
rowid_type => ,object_number => ,relative_fno => ,block_number => ,row_number => );

declare
   rowid_type number(10);
   object_number  number(10);
   relative_fno  number(10);
   block_number  number(10);
   row_number  number(10);
begin
   dbms_rowid.rowid_info('AAAAAMAntAAAAIJATT',rowid_type ,object_number ,relative_fno ,block_number ,row_number );
   dbms_output.put_line(rowid_type);
   dbms_output.put_line(object_number);
   dbms_output.put_line(relative_fno);
   dbms_output.put_line(block_number);
   dbms_output.put_line(row_number);
end;       

– 3,rowid_type
/*
該函數用於返回特定的rowid類型
*/

select dbms_rowid.rowid_type(‘AAAAAMAntAAAAIJATT’) from dual;

– 4,rowid_object
/*
該函數用於返回特定的rowid的數據對象號
*/

select dbms_rowid.rowid_object(‘AAAAAMAntAAAAIJATT’) from dual;

– 5,rowid_relative_fno
/*
該函數用於返回特定的rowid的文件號
*/

select dbms_rowid.rowid_relative_fno(‘AAAAAMAntAAAAIJATT’) from dual;

– 6,rowid_block_number
/*
該函數用於返回特定的rowid的數據塊號
*/

select dbms_rowid.rowid_block_number(‘AAAAAMAntAAAAIJATT’) from dual;

– 7,rowid_row_number
/*
該函數用於返回特定的rowid的數據塊所對應的行號
*/

select dbms_rowid.rowid_row_number(‘AAAAAMAntAAAAIJATT’) from dual;

– 8,rowid_to_absolute_fno
/*
該函數用於返回特定的rowid的所對應的絕對文件號
schema_name –指定表的方案名
object_name–指定表名
*/

dbms_rowid.rowid_to_absolute_fno(row_id => ,schema_name => ,object_name => );

declare
v_rowid rowid;
abs_fno int ;
begin
select rowid into v_rowid from emp where empno = 8 ;
abs_fno:= dbms_rowid.rowid_to_absolute_fno(v_rowid,’SCOTT’,’EMP’);
dbms_output.put_line(v_rowid || ‘的絕對文件號是:’ || abs_fno );
end;

– 9,rowid_to_extended
/*
該函數用於將受限的rowid 轉化爲擴展的rowid
schema_name –指定表的方案名
object_name–指定表名
conversion_type 擴展的類型
*/

dbms_rowid.rowid_to_extended(old_rowid =>,schema_name => ,object_name => ,conversion_type => );

– 10,rowid_to_restricted
/*
該函數用於將擴展的rowid 轉化爲受限的rowid
conversion_type=0;
*/

dbms_rowid.rowid_to_restricted(old_rowid => ,conversion_type => );

– 11,rowid_verify
/*
該函數用於檢驗是否可以將受限的rowid 轉化爲可擴展的rowid
0–可以
1–不能轉化
*/

dbms_rowid.rowid_verify(rowid_in => ,schema_name => ,object_name => ,conversion_type => );

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