ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 如何操作blob字段?

如何操作blob字段?

原创 Linux操作系统 作者:wzy25 时间:2019-07-07 09:24:04 0 删除 编辑

最近碰到一个测试案例,测试standby的性能,当中有个特别测试blob字段效率的环节,正好整理了一个测试用程序,给大家分享一下。


lob类型,不管blob还是clob,在sql中,都可以直接当作varchar2来使用的。

比如 下面的表

create table testlob(id number(2),b_l blob);
可以直接 insert into testlob values (1,'123');

当然更专业的是用下面的方式

这个案例把一个文件写入到blob,最典型的应用。

首先创建一个目录

create or replace directory mydir as 'd:';


declare
dest_loc blob;

--指定要读入的文件,在mydir目录下的
src_loc bfile := bfilename('MYDIR', 'ace_introdue.jpg'); --目录名字一定要大写
amount integer := 4000;
begin

--插入记录,同时返回blob的locator
insert into testlobvalues(2,empty_blob()) returning b_l into dest_loc;
--打开 bfile

dbms_lob.open(src_loc, dbms_lob.lob_readonly);

--获得文件长度
select dbms_lob.getlength(src_loc) into amount from dual;

--打开要写入记录的blob locator

dbms_lob.open(dest_loc, dbms_lob.lob_readwrite);

--直接把文件load到blob字段
dbms_lob.loadfromfile(dest_loc, src_loc,amount);

--关闭相应的locator

dbms_lob.close(dest_loc);
dbms_lob.close(src_loc);
commit;
end;
/

还是很简单的吗。

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

请登录后发表评论 登录
全部评论

注册时间:2001-12-14

  • 博文量
    1011
  • 访问量
    763024