這個包在11gR2中有11個函數或存儲:
1. 根據給定參數返回一個rowid
--根據給定參數返回一個rowid FUNCTION rowid_create(rowid_type IN NUMBER,--rowid類型,0:restricted,1:extended object_number IN NUMBER,--對象id relative_fno IN NUMBER,--關聯文件 block_number IN NUMBER,--數據塊id row_number IN NUMBER)--行號 RETURN ROWID;
2. 根據rowid返回相關參數
--根據rowid返回相關參數 PROCEDURE rowid_info(rowid_in IN ROWID,--rowid rowid_type OUT NUMBER,--rowid類型 object_number OUT NUMBER,--對象id relative_fno OUT NUMBER,--相關文件 block_number OUT NUMBER,--數據塊id row_number OUT NUMBER,--行號 ts_type_in IN VARCHAR2 DEFAULT 'SMALLFILE');--表空間類型,BIGFILE:大文件表空間,SMALLFILE:傳統表空間
3. 通過rowid返回rowid類型
--通過rowid返回rowid類型 function rowid_type(row_id IN rowid)--rowid return number;
4. 通過rowid提取數據文件編號
--通過rowid提取數據文件編號 function rowid_object(row_id IN rowid)--rowid return number;
5. 通過rowid提取相關文件編號
--通過rowid提取相關文件編號 FUNCTION rowid_relative_fno(row_id IN ROWID,--rowid ts_type_in IN VARCHAR2 DEFAULT 'SMALLFILE')--表空間類型 RETURN NUMBER;
6. 通過rowid提取數據塊編號
--通過rowid提取數據塊編號 FUNCTION rowid_block_number(row_id IN ROWID,--rowid ts_type_in IN VARCHAR2 DEFAULT 'SMALLFILE')--表空間類型 RETURN NUMBER;
7. 通過rowid提取行號
--通過rowid提取行號 function rowid_row_number(row_id IN rowid)--rowid return number;
8. 通過rowid和給定表,提取相關文件編號
--通過rowid和給定表,提取相關文件編號 FUNCTION rowid_to_absolute_fno(row_id IN ROWID,--rowid schema_name IN VARCHAR2,--擁有者 object_name IN VARCHAR2) --對象名 RETURN NUMBER;
9. 轉換一個restricted rowid為一個extended rowid
--轉換一個restricted rowid為一個extended rowid. --如果原始的rowid存儲在列中,轉換的 就是internal類型; --如果原始的rowid是以字符串形式存儲的,那轉換的就是external類型 FUNCTION rowid_to_extended(old_rowid IN ROWID,--rowid schema_name IN VARCHAR2,--擁有者 object_name IN VARCHAR2,--對象名 conversion_type IN INTEGER)--轉換類型,0:轉換restricted internal rowid為extended格式 --轉換類型,1:轉換restricted external rowid為extended格式
10. 轉換一個exteneded的rowid為一個restricted的rowid
--轉換一個exteneded的rowid為一個restricted的rowid --restricted的rowid格式為BBBBBBB.RRRR.FFFFF, --BBBBBBB 代表block --RRRR 代表在block中的行號,從0開始 --FFFFF 代表文件號。 --這個包可以使用rowid或者rowid轉換類型(ROWID_CONVERT_INTERNAL (0)和ROWID_CONVERT_EXTERNAL (1)) FUNCTION rowid_to_restricted(old_rowid IN ROWID,--rowid conversion_type IN INTEGER)--rowid_convert_internal := 0; --rowid_convert_external := 1; RETURN ROWID;
11. 驗證rowid 有效性
--驗證rowid是否有效 FUNCTION rowid_verify(rowid_in IN ROWID,--rowid schema_name IN VARCHAR2,--擁有者 object_name IN VARCHAR2,--對象名 conversion_type IN INTEGER)--rowid_convert_internal := 0; --rowid_convert_external := 1; RETURN NUMBER;