Oracle中上传图片到数据库

 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;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值