loadclobfromfile方法+使用loadclobfromfile方法

来源:互联网 发布:魔王三国源码 编辑:程序博客网 时间:2024/05/18 12:28

loadclobfromfile方法

loadclobfromfile()
1用于将bfile所指向的外部文件数据加载到clob/noclob中。
2加载从指定位置的偏移量开始,加载指定数据量的字节

语法
dbms_lob.loadclobfromfile(
dest_clob in out nocopy clob/noclob,
src_bfile in bfile,
amount in integer,
dest_offset in out integer,
src_offset in out integer,
src_csid in number,
lang_context in out integer,
waring out integer
)
参数说明
dest_clob:加载的目标dest_clob
src_bfile:读取文件的指针bfile
amount:读取的最大数量
dest_offset:开始写数据的位置(写数据的偏移量)
src_offset:开始读数据的位置(读数据的偏移量)
src_csid:是src_bfile的字符集
lang_context:加载的语言环境
waring:表示加载时候的一个警告信息

测试数据

create table bfile_table(id number,bfile_column bfile not null);create directory MYBFILE as 'F:\test\bfile';--添加数据--函数bfilename(目录地址,文件名)insert into bfile_table values(1,bfilename('MYBFILE','bfile01.txt'));select * from bfile_table; create table  clob_table(id number,clob_column clob not null);--添加数据--to_clob 将字符数据转换为clob类型insert into clob_table values(1,to_clob('this is clob data'));insert into clob_table values(2,to_clob('clob is here'));select * from clob_table;

这里写图片描述

使用loadclobfromfile方法

create or replace procedure loadclobfromfile_lobasdest_clob  clob;src_bfile bfile;amount  integer:=dbms_lob.lobmaxsize;--最大字符数dest_offset integer:=6;src_offset  integer:=1;src_csid   integer:=dbms_lob.default_csid;lang_context  integer:=dbms_lob.default_lang_ctx;waring   integer:=dbms_lob.warn_inconvertible_char;begin    select clob_column into dest_clob from clob_table where id=1 for update;  select bfile_column into src_bfile from bfile_table where id=1 for update; dbms_lob.open(src_bfile);--打开指针src_bfile所指向的文件 dbms_lob.loadclobfromfile(    dest_clob,    src_bfile,    amount,    dest_offset,    src_offset,    src_csid,    lang_context,    waring );end loadclobfromfile_lob;/exec loadclobfromfile_lob;select * from clob_table;

这里写图片描述

bfile01.txt的内容
这里写图片描述

原创粉丝点击