oracle用insert可以直接在表中插入图片吗?

如题所述

第1个回答  2022-11-17

“向blob插入图片” 会获得好多结果,比如

将图片插入到BLOB类型的字段中

建立一个表:create table a(a blob);

建立一个目录:create directory tmp as 'e:\';

建立一个PL/SQL块:

declare

b_file bfile;

b_lob blob;

begin

insert into a(a) values(empty_blob()) return a into b_lob;

--为了使PL/SQL编译成功,必须先为该列插入一个empty_blob() 值,return a into b_lob将该列与一个blog类型的变量绑定在一起,以后只要为b_lob赋值,即等于将该值插入了表中。

b_file:=bfilename('tmp','filename.jpg');

--tmp是建立的文件所在的目录,filename.jpg是文件名;将文件转换为bfile类型

dbms_lob.open(b_file,dbms_lob.file_readonly);--将b_file 以只读的方式打开

dbms_lob.loadfromfile(b_lob,b_file,dbms_lob.getlength(b_file));-- 将b_file中的内容转换到b_lob中

dbms_lob.close(b_file);

commit;

相似回答