首页 > Linux操作系统 > Linux操作系统 > 如何操作blob字段?
最近碰到一个测试案例,测试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博客 ” ,链接:https://blog.itpub.net/3618/viewspace-485584/ ,如需转载,请注明出处,否则将追究法律责任。