create table blob_test(rno number,photo blob);create or replace directory IMAGE as 'e:\pic' --存储图片的路径 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;
/