这个包在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. Linux环境下安装中山大学东校区iNode客户端

    在中山大学登录校园网有两种方式,一种是连接WiFi,另一种是连接网线.这两种上网方式都需要用到NetID,但是连接网线的话还需要使用到iNode客户端(指东校区). Windows下iNode客户端的 ...

  2. 阿里云ECI如何6秒扩容3000容器实例?

    引言 根据最新CNCF报告,有超过90%的用户在生产环境使用容器,并且有超过80%的用户通过Kubernetes管理容器.是不是我们的生产环境上了K8s就完美解决了应用部署的问题?IT界有句俗语,没有 ...

  3. 第39篇-Java通过JNI调用C/C++函数

    在某些情况下,Java语言需要通过调用C/C++函数来实现某些功能,因为Java有时候对这些功能显的无能为力,如想使用X86_64 的 SIMD 指令提升一下业务方法中关键代码的性能,又或者想要获取某 ...

  4. [python]django关闭debug

    1.版本声明 python3.6.5 django2.0.6 2.打开项目-setting setting.py中DEBUG默认是等于True,这样的话当访问接口存在错误会直接展示项目的所有配置信息, ...

  5. maven项目中 把依赖包打进jar包

    在pom.xml文件中增加build配置 1 <build> 2 <plugins> 3 <plugin> 4 <artifactId>maven-as ...

  6. PAT A1107——并查集

     Social Clusters When register on a social network, you are always asked to specify your hobbies in ...

  7. 在cmd中使用vim编译器

    下载地址:http://www.vim.org/download.php#pc 下载GVIM,配置下path环境变量就可以在cmd中使用vim了 把vim.exe复制一份,更名为vi.exe,就可以直 ...

  8. [atAGC050A]AtCoder Jumper

    考虑二叉树的结构,但并不容易构造从叶子返回的边 (以下为了方便,将所有点编号为$[0,n)$) 对于$i$,选择$2i\ mod\ n$和$(2i+1)\ mod\ n$这两条出边 从二叉树的角度并不 ...

  9. [loj3272]汉堡肉

    当$k\le 3$,这是一个经典的问题 设所有矩形左下角横纵坐标的最大值为$(x_{1},y_{1})$,右上角横纵坐标的最小值为$(x_{2},y_{2})$,那么必然存在一组合法解满足其中一点为$ ...

  10. 高并发异步解耦利器:RocketMQ究竟强在哪里?

    上篇文章消息队列那么多,为什么建议深入了解下RabbitMQ?我们讲到了消息队列的发展史: 并且详细介绍了RabbitMQ,其功能也是挺强大的,那么,为啥又要搞一个RocketMQ出来呢?是重复造轮子 ...