DBMS_LOB包的使用
DBMS_LOB包的使用
1、 dbms_lob.append(
dest_lob IN OUT NOCOPY BLOB,
src_lob IN BLOB)
dbms_lob.append(
dest_lob IN OUT NOCOPY CLOB CHARACTER SET ANY_CS,
src_lob IN CLOB CHRACTER SET dest_lob%CHARSET);
将源LOB变量的内容添加到目标LOB变量的尾部。
示例:dest_lob clob;
src_lob clob;
dbms_lob.append(dest_lob,src_lob);
2、 dbms_lob.close(lob_loc IN OUT NOCOPY BLOB/CLOB/BFILE)
关闭已经打开的LOB。
3、 dbms_lob.compare(
lob_1 IN BLOB/CLOB/BFILE,
lob_2 IN BLOB/CLOB/BFILE,
amount IN INTEGER:=4294967295,--要比较的字符数(CLOB),字节数(BLOB)
offset_1 IN INTEGER:=1,--lob_1的起始位置
offset_2 IN INTEGER:=1--lob_2 的起始位置)
比较两个LOB的内容。
4、 dbms_lob.copy(
dest_lob IN OUT NOCOPY BLOB/CLOB/NCLOB,
src_lob IN BLOB/CLOB/NCOB,
amount IN INTEGER,
dest_offset IN INTEGER:=1,
src_offset IN INTEGER:=1)
从src_lob中,以src_offset为起始位置,截取amount个字符/字节,放到dest_lob的dest_offset位置。
5、 dbms_lob.createtemporary(
lob_loc IN OUT NOCOPY BLOB/DLOB/NCLOB,
cache IN BOOLEAN,
dur IN PLS_INTEGER:=10)
在用户的临时表空间中,建立临时LOB。
lob_loc:指定LOB定位符。
Cache:是否将LOB读取到缓冲区。
Dur:指定何时清除临时LOB(10:会话结束时。12:调用结束时)。
6、 dbms_lob.erase(
lob_loc IN OUT NOCOPY BLOB/CLOB/NCLOB,
amount IN OUT NOCOPY INTEGER,--字符/字节数
- offset IN INTEGER:=1—起始位置
)
删除LOB变量的内容。
7、 dbms_lob.fileclose(file_loc IN OUT NOCOPY BFILE)
关闭打开的BFILE定位符所指向的OS文件
8、 dbms_lob.filecloseall关闭当前会话已经打开的所有BFILE文件。
9、 dbms_lob.fileexists(file_loc IN BFILE) RETURN INTEGER
确定file_loc对应的OS文件是否存在,1:存在。0:不存在。
10、dbms_lob.filegetname(
file_loc IN BFILE,
dir_alias OUT varchar2,
filename OUT varchar2)
获取BFILE定位符所对应的目录别名和文件名。
11、dbms_lob.fileisopen(file_loc IN BFILE) RETURN INTEGER
确定BFILE对应的OS文件是否打开。
12、dbms_lob.freetemporary(lob_lob IN OUT NOCOPY BLOB/CLOB/NCLOB)
释放在默认临时表空间中的临时LOB。
13、dbms_lob.fileopen(file_loc IN OUT NOCOPY BFILE,
Open_mode IN BINARY_INTEGER:file_readonly)
打开文件。
14、dbms_lob.getchunksize(lob_loc IN BLOB/CLOB/NCLOB) RETURN INTEGER
当建立包含CLOB/BLOB列的表时,通过指定CHUNK参数可以指定操纵LOB需要分配的字节数(数据库尺寸的整数倍)默认为数据块的尺寸。
15、dbms_lob.getlength(lob_loc IN BLOB/CLOB/BFILE/NCLOB) RETURN INTEGER
获取长度。
16、dbms_lob.instr(
Lob_loc IN BLOB/CLOB/NCLOB/BFILE,
Pattern IN RAW/VARCHAR2,
Offset IN INTERGER:=1,
Nth IN INTEGER:=1) RETURN INTEGER;
返回特定样式数据从LOB某偏移位置开始出现N次的具体位置。
17、dbms_lob.idopen(lob_loc IN BLOB/CLOB/BFILE) RETURN INT
确定LOB是否打开,打开:1,未打开:0。
18、dbms_lob.istemporary(lob_loc IN BLOB/CLOB/NCLOB) RETURN INTEGER
确定定位符是否为临时LOB。
19、dbms_lob.loadfromfile(
dest_lob IN OUT NOCOPY BLOB/CLOB,
src_file IN FILE,
amount IN INTEGER,
dest_offset IN INTEGER:=1,
src_offset IN INTEGER:=1)
将BFILE的部分或全部内容复制到目标LOB变量。
20、dbms_lob.loadblobfromfile(
dest_lob IN OUT NOCOPY BLOB,
src_bfile IN BFILE,
amount IN INTEGER,
dest_offset IN OUT INTEGER,
src_offset IN OUT INTEGER)
将BFILE数据装载到BLOB中,并且在装载后取得最新的偏移位置。
21、dbms_lob.open(
lob_loc IN OUT NOCOPY BLOB/CLOB/BFILE,
open_mode IN BINARY_INTEGER)
打开LOB,open_mode(只读:dbms_lob.lob_readonly,读写:dbms_lob.lob_readwrite).
22、dbms_lob.read(
lob_loc IN BLOB/CLOB/BFILE,
amount IN OUT NOCOPY BINARY_INTEGER),--IN:要读取的字符数,
OUT:实际读取的字符数。
Offset IN INTEGER,
Buffer OUT RAW/VARCHAR2—存储数据的变量
)
将LOB数据读取到缓存区中(变量中)。
23、dbms_lob.substr(
Lob_loc IN BLOB/CLOB/BFILE,
Amount IN INTEGER:=32762,
Offset IN INTEGER:=1) RETURN RAW/VARCHAR2
与字符处理函数SUBSTR()使用方法一样。
24、dbms_lob.trim(
Lob_loc IN OUT NOCOPY BLOB/CLOB/NCLOB,
Newlen IN INTEGER)
截断LOB到指定长度。
25、dbms_lob.write(
Lob_loc IN OUT NOCOPY BLOB/CLOB,
Amount IN BINARY_INTEGER,
Offset IN INTEGER,
Buffer IN RAW/VARCHAR2)
将缓冲区数据写入到LOB中的特定位置。
26、dbms_lob.writeappend(
Lob_loc IN OUT NOCOPY BLOB/CLOB/NCLOB,
Amount IN BINARY_INTEGER,
Buffer IN RAW/VARCHAR2)
将缓冲区数据写到LOB尾部。
DBMS_LOB包的使用的更多相关文章
- Oracle中DBMS_LOB包使用小结
本文主要介绍oracle数据库中dbms_lob包的使用以及使用dbms_lob包来维护lob数据库类型的基本方法.随着社会的发展,在现代信息系统的开发中,需要存储的已不仅仅是简单的文字信息,同时还包 ...
- dbms_lob包学习笔记之三:instr和substr存储过程
instr和substr存储过程,分析内部大对象的内容 instr函数与substr函数 instr函数用于从指定的位置开始,从大型对象中查找第N个与模式匹配的字符串. 用于查找内部大对象中的字符串的 ...
- Oracle学习笔记十四 内置程序包
扩展数据库的功能 为 PL/SQL 提供对 SQL 功能的访问 用户 SYS 拥有所有程序包 是公有同义词 可以由任何用户访问 一些内置程序包 程序包名称 说明 STANDARD和DBMS_STAND ...
- DBMS_LOB
1.LOB背景 在现在的系统开发中,需要存储的已不仅仅是简单的文字信息,也包括一些图片.音像资料或者超长的文本,这要求后台数据库具有存储这些数据的能力,Oracle通过提供LOB对象实现了该功能. 2 ...
- dbms_lob使用之-基础
在Oracle中,存储在LOB中数据称为LOB的值,如使用Select 对某一LOB字段进行选择,则返回的不是LOB的值,而是该LOB字段的定位器(可以理解为指向LOB值的指针).如执行如下 ...
- [转载]DBMS_LOB
1.LOB背景 在现在的系统开发中,需要存储的已不仅仅是简单的文字信息,也包括一些图片.音像资料或者超长的文本,这要求后台数据库具有存储这些数据的能力,Oracle通过提供LOB对象实现了该功能. 2 ...
- 在使用DBMS_LOB.WRITEAPPEND()追加Clob内容的时候,报数字或值异常
在实际的使用中有可能会使用DBMS_LOB.WRITEAPPEND()去将Clob内容作为buffer增加到我们需要的对象中,但是在实际的使用中Clob大小往往是超过32767长度的,然而DBMS_L ...
- DBMS_LOB的简单用法以及释放DBMS_LOB生成的临时CLOB内存
dbms_lob包(一) dbms_lob包(二) 如何释放DBMS_LOB.CREATETEMPORARY的空间 Temporary LOB导致临时表空间暴满. oracle数据库中的大对象1——永 ...
- 每周一书《Oracle 12 c PL(SQL)程序设计终极指南》
本周为大家送出的书是<Oracle 12 c PL(SQL)程序设计终极指南>,此书由机械工业出版社出版, 孙风栋,王澜,郭晓惠 著. 内容简介: <Oracle 12c PL/SQ ...
随机推荐
- SGU 548 Dragons and Princesses
意甲冠军: n个月格儿 所有的格龙或公主的儿子 从勇士1走n 不杀 杀死有钱拿 路过公主 假设之前杀龙的数量满足公主要求就会停止行走 问 勇士想多拿钱 可是必需要满足n格子的公主 ...
- hello nodejs
文章1一步:下载.安装文件 打开nodejs官方网站http://www.nodejs.org/download/ .选择须要的版本号.直接打开.默认安装就可以 第二步:编写測试代码: var htt ...
- keyboard splitting bug on ipad with ios 5 and 6 (Cocos2d-x)
Had the same issue - the solution is to stop the opengl layer from rendering while this is happening ...
- 我学的是设计模式的视频教程——装饰图案,装饰图案VS代理模式
课程视频 装饰模式 装饰模式VS代理模式1 装饰模式VS代理模式2 课程笔记 课程笔记 课程代码 课程代码 新课程火热报名中 课程介绍 版权声明:本文博主原创文章,博客,未经同意不得转载.
- React.js终探(五)
在React中,一切都是看做组件. 而组件的嵌套也是十分常见的. 所以有的组件就作为容器组件 容器组件 React元素可以包含子元素 如 //JSX <ezpanel title="t ...
- 浅谈JavaScript中typeof与instanceof的区别
首先,我们从其常规定义入手: instanceof 运算符可以用来判断某个构造函数的 prototype 属性是否存在另外一个要检测对象的原型链上.(需要注意的一点是:prototyp ...
- 使用 Eclipse 的 SVN 主要插件创建项目/支/标签
原文 阅读 Mark Phippard 该博客以及<Subversion 与版本号控制>之后,我了解到 分支/标签 是 SVN 非常棒的特性之中的一个.但我在使用推荐的 "tru ...
- vim温馨提示
(一)各种文本操作 各种跳转 h,j,k,l h左移一个字符,j下移一行,k上移一行,l右移一个字符 w.b w 下一个单词,b上一个单词 0,$ 行首,行尾 G,gg.30% 3G跳到第3行,g ...
- Swift # 项目框架
利用Swift--简单的项目界面流程. TabBar+Navigation底部导航控制,界面的切换. GitHub源码分享,地址: URL:https://github.com/SpongeBob-G ...
- Tomcat剖析(三):连接器(1)
Tomcat剖析(三):连接器(1) 1. Tomcat剖析(一):一个简单的Web服务器 2. Tomcat剖析(二):一个简单的Servlet服务器 3. Tomcat剖析(三):连接器(1) 4 ...