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_lobdest_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:指定何时清除临时LOB10:会话结束时。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:不存在。

10dbms_lob.filegetname(

file_loc  IN  BFILE,

dir_alias  OUT  varchar2,

filename  OUT  varchar2)

     获取BFILE定位符所对应的目录别名和文件名。

11dbms_lob.fileisopen(file_loc  IN  BFILE)  RETURN  INTEGER

确定BFILE对应的OS文件是否打开。

12dbms_lob.freetemporary(lob_lob  IN  OUT  NOCOPY  BLOB/CLOB/NCLOB)

释放在默认临时表空间中的临时LOB

13dbms_lob.fileopen(file_loc  IN  OUT  NOCOPY  BFILE,

Open_mode  IN  BINARY_INTEGER:file_readonly)

打开文件。

14dbms_lob.getchunksize(lob_loc  IN  BLOB/CLOB/NCLOB)  RETURN  INTEGER

当建立包含CLOB/BLOB列的表时,通过指定CHUNK参数可以指定操纵LOB需要分配的字节数(数据库尺寸的整数倍)默认为数据块的尺寸。

15dbms_lob.getlength(lob_loc  IN  BLOB/CLOB/BFILE/NCLOB) RETURN  INTEGER

获取长度。

16dbms_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次的具体位置。

17dbms_lob.idopen(lob_loc  IN  BLOB/CLOB/BFILE)  RETURN  INT

确定LOB是否打开,打开:1,未打开:0

18dbms_lob.istemporary(lob_loc  IN  BLOB/CLOB/NCLOB)  RETURN  INTEGER

确定定位符是否为临时LOB

19dbms_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变量。

20dbms_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中,并且在装载后取得最新的偏移位置。

21dbms_lob.open(

lob_loc  IN  OUT  NOCOPY  BLOB/CLOB/BFILE,

open_mode  IN  BINARY_INTEGER)

打开LOBopen_mode(只读:dbms_lob.lob_readonly,读写:dbms_lob.lob_readwrite.

22dbms_lob.read(

lob_loc  IN  BLOB/CLOB/BFILE,

amount  IN  OUT  NOCOPY  BINARY_INTEGER),--IN:要读取的字符数,       

                                            OUT:实际读取的字符数。

Offset  IN  INTEGER,

Buffer  OUT  RAW/VARCHAR2—存储数据的变量

)

LOB数据读取到缓存区中(变量中)。

23dbms_lob.substr(

Lob_loc  IN  BLOB/CLOB/BFILE,

Amount  IN  INTEGER:=32762,

Offset  IN  INTEGER:=1) RETURN  RAW/VARCHAR2

与字符处理函数SUBSTR()使用方法一样。

24dbms_lob.trim(

Lob_loc  IN  OUT  NOCOPY  BLOB/CLOB/NCLOB,

Newlen  IN  INTEGER)

截断LOB到指定长度。

25dbms_lob.write(

Lob_loc  IN  OUT  NOCOPY  BLOB/CLOB,

Amount  IN  BINARY_INTEGER,

Offset  IN  INTEGER,

Buffer  IN  RAW/VARCHAR2)

将缓冲区数据写入到LOB中的特定位置。

26dbms_lob.writeappend(

Lob_loc  IN  OUT  NOCOPY  BLOB/CLOB/NCLOB,

Amount  IN  BINARY_INTEGER,

Buffer  IN  RAW/VARCHAR2)

    将缓冲区数据写到LOB尾部。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23065269/viewspace-630417/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23065269/viewspace-630417/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值