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包的使用的更多相关文章

  1. Oracle中DBMS_LOB包使用小结

    本文主要介绍oracle数据库中dbms_lob包的使用以及使用dbms_lob包来维护lob数据库类型的基本方法.随着社会的发展,在现代信息系统的开发中,需要存储的已不仅仅是简单的文字信息,同时还包 ...

  2. dbms_lob包学习笔记之三:instr和substr存储过程

    instr和substr存储过程,分析内部大对象的内容 instr函数与substr函数 instr函数用于从指定的位置开始,从大型对象中查找第N个与模式匹配的字符串. 用于查找内部大对象中的字符串的 ...

  3. Oracle学习笔记十四 内置程序包

    扩展数据库的功能 为 PL/SQL 提供对 SQL 功能的访问 用户 SYS 拥有所有程序包 是公有同义词 可以由任何用户访问 一些内置程序包 程序包名称 说明 STANDARD和DBMS_STAND ...

  4. DBMS_LOB

    1.LOB背景 在现在的系统开发中,需要存储的已不仅仅是简单的文字信息,也包括一些图片.音像资料或者超长的文本,这要求后台数据库具有存储这些数据的能力,Oracle通过提供LOB对象实现了该功能. 2 ...

  5. dbms_lob使用之-基础

     在Oracle中,存储在LOB中数据称为LOB的值,如使用Select   对某一LOB字段进行选择,则返回的不是LOB的值,而是该LOB字段的定位器(可以理解为指向LOB值的指针).如执行如下 ...

  6. [转载]DBMS_LOB

    1.LOB背景 在现在的系统开发中,需要存储的已不仅仅是简单的文字信息,也包括一些图片.音像资料或者超长的文本,这要求后台数据库具有存储这些数据的能力,Oracle通过提供LOB对象实现了该功能. 2 ...

  7. 在使用DBMS_LOB.WRITEAPPEND()追加Clob内容的时候,报数字或值异常

    在实际的使用中有可能会使用DBMS_LOB.WRITEAPPEND()去将Clob内容作为buffer增加到我们需要的对象中,但是在实际的使用中Clob大小往往是超过32767长度的,然而DBMS_L ...

  8. DBMS_LOB的简单用法以及释放DBMS_LOB生成的临时CLOB内存

    dbms_lob包(一) dbms_lob包(二) 如何释放DBMS_LOB.CREATETEMPORARY的空间 Temporary LOB导致临时表空间暴满. oracle数据库中的大对象1——永 ...

  9. 每周一书《Oracle 12 c PL(SQL)程序设计终极指南》

    本周为大家送出的书是<Oracle 12 c PL(SQL)程序设计终极指南>,此书由机械工业出版社出版, 孙风栋,王澜,郭晓惠 著. 内容简介: <Oracle 12c PL/SQ ...

随机推荐

  1. 新秀学习SSH(十四)——Spring集装箱AOP其原理——动态代理

    之前写了一篇文章IOC该博客--<Spring容器IOC解析及简单实现>,今天再来聊聊AOP.大家都知道Spring的两大特性是IOC和AOP. IOC负责将对象动态的注入到容器,从而达到 ...

  2. shell 监控局域网的主机是否up(转)

    #!/bin/bash for ((i=30;i<60;i++)) ;do ping -c 3 172.31.0.$i>/dev/null #ping -c 172.31.0.30 ~17 ...

  3. [LeetCode] 032. Longest Valid Parentheses (Hard) (C++)

    指数:[LeetCode] Leetcode 指标解释 (C++/Java/Python/Sql) Github: https://github.com/illuz/leetcode 032. Lon ...

  4. XMLHttpRequest创建对象

    首先,介绍一下XMLHttpRequest对象,我们都知道Ajax这不是一个简单的技术,但一些技术的融合.XMLHttpRequest这是Ajax中最为核心的技术.假设没有XMLHttpRequest ...

  5. vim_编码配置文件_utf8乱码解决

    1:简化步奏 调整 :vimrc的脚本配置 编辑~/.vimrc文件,(没有的话新建个)加上如下几行: set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb23 ...

  6. android 数据共享

    android数据共享的各种部件中的应用是最重要的3途径: 第一.使用Application子类来实现数据共享. 例如,请看下面的例子: /**  * @author YangQuanqing 特征: ...

  7. Java业务原子性的一种实现(key 独占访问)

    开发过程中,有时候为了解决多线程竞争问题需要加锁,通常锁定的对象是class,object,method,但在特定时候我们需要更细粒度的加锁,也就是根据不同输入参数来锁定不同的资源,这样只有调用此方法 ...

  8. NodeJS,我对“高、高、非”的一些看法

    ·众所周知 NodeJS三大神器"事件驱动,V8,回调函数". ·事件驱动,故名思议:等快递和收快递区别.NodeJS将原先大牛们掌握的神神秘秘的EPOLL走向大众化,这点是最大的 ...

  9. ASP.NET MVC 插件化

    ASP.NET MVC 插件化机制 2015-03-14 22:25 by 杨康新, 1328 阅读, 15 评论, 收藏, 编辑 概述 nopCommerce的插件机制的核心是使用BuildMana ...

  10. c# 数据类型转换 as(C# 参考)

    as    运算符类似于强制转换操作.               但是,因此,如果转换是不可能的,as 返回 null 而不引发异常.  请看下面的示例: expression is type ? ...