这个包在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;

ORACLE DBMS_ROWID包详解的更多相关文章

  1. Oracle中dbms_random包详解

    Oracle之DBMS_RANDOM包详解参考自:https://www.cnblogs.com/ivictor/p/4476031.html https://www.cnblogs.com/shen ...

  2. Oracle权限管理详解

    Oracle权限管理详解 转载--CzmMiao的博客生活 Oracle 权限 权限允许用户访问属于其它用户的对象或执行程序,ORACLE系统提供三种权限:Object 对象级.System 系统级. ...

  3. 常见 jar包详解

        常见 jar包详解 jar包 用途 axis.jar SOAP引擎包 commons-discovery-0.2.jar 用来发现.查找和实现可插入式接口,提供一些一般类实例化.单件的生命周期 ...

  4. oracle rac IP详解

    rac环境下vip/public/private IP的区别 每个节点要2块网卡, 3个IP,虚拟IP或者叫做业务IP,单个网卡当掉可以“漂”到其他网卡是继续提供服务 在Oracle RAC环境下,每 ...

  5. Oracle建立全文索引详解

    Oracle建立全文索引详解1.全文检索和普通检索的区别 不使用Oracle text功能,当然也有很多方法可以在Oracle数据库中搜索文本,比如INSTR函数和LIKE操作: SELECT *FR ...

  6. [转载]oracle 高水位线详解

    一.oracle 高水位线详解 出处: https://www.cnblogs.com/linjiqin/archive/2012/01/15/2323030.html 一.什么是水线(High Wa ...

  7. Oracle执行计划详解

    Oracle执行计划详解 --- 作者:TTT BLOG 本文地址:http://blog.chinaunix.net/u3/107265/showart_2192657.html --- 简介:   ...

  8. Spring jar包详解

    Spring jar包详解 org.springframework.aop ——Spring的面向切面编程,提供AOP(面向切面编程)的实现 org.springframework.asm——spri ...

  9. Spring——jar包详解(转)

    Spring——jar包详解 org.springframework.aop ——Spring的面向切面编程,提供AOP(面向切面编程)的实现 org.springframework.asm——spr ...

随机推荐

  1. 小白都能看懂的Spring源码揭秘之IOC容器源码分析

    目录 前言 IOC 只是一个 Map 集合 IOC 三大核心接口 IOC 初始化三大步骤 定位 加载 注册 总结 前言 在 Spring 框架中,大家耳熟能详的无非就是 IOC,DI,Spring M ...

  2. 计算机网络漫谈之IP数据包

    网络层从 网络层 .IP与子网掩码 前前后后我们也说了两次了,IP 这个东西絮絮叨叨的也一直在提.今天我们来解开IP协议的面纱,还记得我们之前在数据链路层说的物理帧的结构吗?就是这样: 其中Head叫 ...

  3. 【JavaScript实用技巧(二)】Js操作DOM(由问题引发的文章改版,新人大佬都可)

    [JavaScript实用技巧(二)]Js操作DOM(由问题引发的文章改版,新人大佬都可!) 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人 ...

  4. Part 35 AngularJS caseInsensitiveMatch and Inline Templates

    In this video we will discuss 2 simple but useful features in Angular caseInsensitiveMatch Inline Te ...

  5. Java学习(二十)

    今天学习了Java中的package和import 在包中写了一点作为练习 如果把Test02放到别的包,就需要import到别的包,就像这样,Test02在HelloWorld包 如果删掉impor ...

  6. Django笔记&教程 3-2 模板语法介绍

    Django 自学笔记兼学习教程第3章第2节--模板语法介绍 点击查看教程总目录 参考:https://docs.djangoproject.com/en/2.2/topics/templates/# ...

  7. python3下tomorow模块 @thread报语法错误def async(n, base_type, timeout=None): ^ SyntaxError: invalid syntax---解决方法

    遇见问题:python使用tomorrow实现多线程,tomorrow模块的源代码报语法错误? 这是报错信息:Traceback (most recent call last):  File &quo ...

  8. java 邮件 接收与发送

    ... package com.e6soft; import java.io.BufferedReader; import java.io.FileOutputStream; import java. ...

  9. 【Sass/SCSS】我花4小时整理了的Sass的函数

    [Sass/SCSS]我花4小时整理了的Sass的函数 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 说明 Sass 定义了各 ...

  10. SpringServletContainerInitializer的代码流程

    SpringServletContainerInitializer 是spring中的一个class实现了servlet3.0规范的一个接口 implements ServletContainerIn ...