用dbms_lob包操作,下面是个例子
create table t(no number,file blob);create or replace directory WORDDIR as 'dir to file';CREATE OR REPLACE PROCEDURE insert_file
(p_rno NUMBER, p_file VARCHAR2)
AS
f_file BFILE;
b_file BLOB;
Begininsert into t values (p_rno,empty_blob())
RETURN file into b_file;f_photo := bfilename('WORDDIR', p_file);dbms_lob.fileopen(f_file, dbms_lob.file_readonly);dbms_lob.loadfromfile(b_file,f_file, dbms_lob.getlength(f_file));dbms_lob.fileclose(f_file);COMMIT;
EXCEPTION
-- Check for your error messages
WHEN others THEN
dbms_output.put_line('*** ERROR *** Check you procedure.');
END;
create table t(no number,file blob);create or replace directory WORDDIR as 'dir to file';CREATE OR REPLACE PROCEDURE insert_file
(p_rno NUMBER, p_file VARCHAR2)
AS
f_file BFILE;
b_file BLOB;
Begininsert into t values (p_rno,empty_blob())
RETURN file into b_file;f_photo := bfilename('WORDDIR', p_file);dbms_lob.fileopen(f_file, dbms_lob.file_readonly);dbms_lob.loadfromfile(b_file,f_file, dbms_lob.getlength(f_file));dbms_lob.fileclose(f_file);COMMIT;
EXCEPTION
-- Check for your error messages
WHEN others THEN
dbms_output.put_line('*** ERROR *** Check you procedure.');
END;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货