您的位置:首页 > 其它

DBMS_LOB包的使用

2013-11-21 23:33 423 查看
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尾部。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: