create or replace directory blobdir as 'G:\Oracle\Image'
create table pic_info
(pic_id number,
pic_name varchar2(50),
pic_desc varchar2(50),
pic_blob blob)
create sequence seq_pic_id
start with 10001
increment by 1
create or replace procedure load_blob_pic
(pic_fname varchar2,pic_fdesc varchar2)
is
src_file bfile;
dst_file blob;
lgh_file binary_integer;
begin
src_file:=bfilename('BLOBDIR',pic_fname);
insert into pic_info
(pic_id,pic_name,pic_desc,pic_blob)
values(seq_pic_id.nextval,pic_fname,pic_fdesc,empty_blob())
returning pic_blob into dst_file;
select pic_blob into dst_file from pic_info
where pic_name=pic_fname for update;
dbms_lob.fileopen(src_file,dbms_lob.file_readonly);
lgh_file:=dbms_lob.getlength(src_file);
dbms_lob.loadfromfile(dst_file,src_file,lgh_file);
update pic_info set pic_blob=dst_file
where pic_name=pic_fname;
dbms_lob.fileclose(src_file);
commit;
end;
Oracle中上传图片到数据库
最新推荐文章于 2022-09-08 20:35:32 发布