以下提供一个插入图片过程:
CREATE OR REPLACE PROCEDURE insert_photo
(p_rno NUMBER, p_photo VARCHAR2)
AS
f_photo BFILE;
b_photo BLOB;
Begin-- Update the employee photo
insert into blob_test values (p_rno,empty_blob())
RETURN picture into b_photo;-- find where the photo's pointer is located.
f_photo := bfilename('IMAGE', p_photo);
-- open the photo as read-only option.
dbms_lob.fileopen(f_photo, dbms_lob.file_readonly);
-- load the photo into column photo.
dbms_lob.loadfromfile(b_photo,f_photo, dbms_lob.getlength(f_photo));
-- close the photo's pointer.
dbms_lob.fileclose(f_photo);
-- Save the loaded photo record.
COMMIT;
EXCEPTION
-- Check for your error messages
WHEN others THEN
dbms_output.put_line('*** ERROR *** Check you procedure.');
END;
CREATE OR REPLACE PROCEDURE insert_photo
(p_rno NUMBER, p_photo VARCHAR2)
AS
f_photo BFILE;
b_photo BLOB;
Begin-- Update the employee photo
insert into blob_test values (p_rno,empty_blob())
RETURN picture into b_photo;-- find where the photo's pointer is located.
f_photo := bfilename('IMAGE', p_photo);
-- open the photo as read-only option.
dbms_lob.fileopen(f_photo, dbms_lob.file_readonly);
-- load the photo into column photo.
dbms_lob.loadfromfile(b_photo,f_photo, dbms_lob.getlength(f_photo));
-- close the photo's pointer.
dbms_lob.fileclose(f_photo);
-- Save the loaded photo record.
COMMIT;
EXCEPTION
-- Check for your error messages
WHEN others THEN
dbms_output.put_line('*** ERROR *** Check you procedure.');
END;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货