ORACLE DBMS_ROWID包详解
这个包在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包详解的更多相关文章
- Oracle中dbms_random包详解
Oracle之DBMS_RANDOM包详解参考自:https://www.cnblogs.com/ivictor/p/4476031.html https://www.cnblogs.com/shen ...
- Oracle权限管理详解
Oracle权限管理详解 转载--CzmMiao的博客生活 Oracle 权限 权限允许用户访问属于其它用户的对象或执行程序,ORACLE系统提供三种权限:Object 对象级.System 系统级. ...
- 常见 jar包详解
常见 jar包详解 jar包 用途 axis.jar SOAP引擎包 commons-discovery-0.2.jar 用来发现.查找和实现可插入式接口,提供一些一般类实例化.单件的生命周期 ...
- oracle rac IP详解
rac环境下vip/public/private IP的区别 每个节点要2块网卡, 3个IP,虚拟IP或者叫做业务IP,单个网卡当掉可以“漂”到其他网卡是继续提供服务 在Oracle RAC环境下,每 ...
- Oracle建立全文索引详解
Oracle建立全文索引详解1.全文检索和普通检索的区别 不使用Oracle text功能,当然也有很多方法可以在Oracle数据库中搜索文本,比如INSTR函数和LIKE操作: SELECT *FR ...
- [转载]oracle 高水位线详解
一.oracle 高水位线详解 出处: https://www.cnblogs.com/linjiqin/archive/2012/01/15/2323030.html 一.什么是水线(High Wa ...
- Oracle执行计划详解
Oracle执行计划详解 --- 作者:TTT BLOG 本文地址:http://blog.chinaunix.net/u3/107265/showart_2192657.html --- 简介: ...
- Spring jar包详解
Spring jar包详解 org.springframework.aop ——Spring的面向切面编程,提供AOP(面向切面编程)的实现 org.springframework.asm——spri ...
- Spring——jar包详解(转)
Spring——jar包详解 org.springframework.aop ——Spring的面向切面编程,提供AOP(面向切面编程)的实现 org.springframework.asm——spr ...
随机推荐
- spark structured-streaming 最全的使用总结
一.spark structured-streaming 介绍 我们都知道spark streaming 在v2.4.5 之后 就进入了维护阶段,不再有新的大版本出现,而且 spark strea ...
- 【解决方案】Pyinstaller打包exe策略(简单实用)
场景说明 在业务场景中, 经常需要Python开发一些小程序/脚本/GUI界面,进行简单的项目测试或未安装Python 的小伙伴们使用. 使用Pyinstaller将Python脚本或者项目打包,生成 ...
- robot framework error: [ ERROR ] Suite 'XXX' contains no tests or tasks.(解决方法)
robot framework 按照如下操作创建项目 一.创建项目 选择菜单栏file----->new Project Name 输入项目名称. Type 选择Directory. 二.创建测 ...
- OpenXml SDK学习笔记(4):设置文件级别的样式
观察上一段日记最后的代码: 这里的样式基本可以理解为行内CSS.那么既然有行内的样式,就肯定有外部的样式.那这部分就对应笔记1里说的style.xml文件.这个文件对应的是Document.MainD ...
- go条件语句
1. if else package main import "fmt" func main(){ a :=123 if a>100{ fmt.prinln("大于 ...
- [前端随笔][Vue] 多级菜单实现思路——组件嵌套
说在前面 本篇记录学习了vue-element-admin中的多级菜单的实现 [传送门] @vue/cli 4.2.2:vuex:scss:组件嵌套 正文 创建项目 npm create 项目名 // ...
- Python学习周总结(二)
Python-SecondWeek知识汇总 本周学了好多内容,最头痛的地方还是自己的思维逻辑不过关,还是敲的代码比较少,一个员工管理系统,第一天写搞得头大 ,结果第三遍自己突然懂了,个人的努力才是自己 ...
- [cf741C]Arpa’s overnight party and Mehrdad’s silent entering
直接令2i-1和2i的位置不相同,相当于有2n条边,对其进行二分图染色即可(这张图一定不存在奇环). 假设给出的n条关系是A类边,2i-1和2i的边是B类边,可以发现一条路径一定是AB交替(因为A/B ...
- 从零开始学Kotlin第二课
字符串模板 fun main(args:Array<String>){ //主函数main方法 println(diaryGenerater("天安门")); } // ...
- mybatis源码分析二
这次分析mybatis的xml文件 1. <?xml version="1.0" encoding="UTF-8" ?> <configura ...