2,497
社区成员
发帖
与我相关
我的任务
分享
写一个函数
--get blob
create or replace function GetBlob( aBfileId in varchar2 ) return blob
is
bfile_name BFILE;
aLob blob;
begin
select cBfile into bfile_name from TBfile where cid=aBfileId;
dbms_lob.createtemporary(aLob,true);
dbms_lob.fileopen(bfile_name);
dbms_lob.loadfromfile(aLob, bfile_name, dbms_lob.getlength(bfile_name));
dbms_lob.fileclose(bfile_name);
return aLob;
end;
---
select GetBlob('0010') from dual;
create directory lobdir as 'd:\tempLob';
create table Tblob(col BLOB);
create table TBfile( cid varchar2(100),cBfile bfile);
insert into TBfile values( '0010',bfilename( 'LOBDIR', 'lob.jpg' ) );
--get blob
create or replace procedure GetBlob( aBfileId in varchar2, aLob out Blob )
is
bfile_name BFILE;
begin
select cBfile into bfile_name from TBfile where cid=aBfileId;
dbms_lob.fileopen(bfile_name);
dbms_lob.loadfromfile(aLob, bfile_name, dbms_lob.getlength(bfile_name));
dbms_lob.fileclose(bfile_name);
end;