An example SQL> CREATE TABLE IMAGE_LOB (2 T_ID VARCHAR2 (5) NOT NULL, 3 T_IMAGE BLOB NOT NULL 4); TABLE created. Www.2cto.com SQL> CREATE OR REPLACE DIRECTORY IMAGES AS 'C: \ Inetpub \ wwwroot'; the DIRECTORY has been created. SQL> create or replace procedure IMG_INSERT (2 TID VARCHAR2, 3 FILENAME VARCHAR2) AS 4 F_LOB BFILE; 5 B _LOB BLOB; 6 BEGIN 7 INSERT INTO IMAGE_LOB (T_ID, T_IMAGE) VALUES (TID, 8 EMPTY_BLOB () RETURN T_IMAGE INTO B _LOB; 9 F_LOB: = BFILENAME ('images', FILENAME); 10 DBMS_LOB.FILEOPEN (F_LOB, bytes); 11 bytes (B _LOB, F_LOB, 12 DBMS_LOB.GETLENGTH (F_LOB); 13 DBMS_LOB. FILECLOSE (F_LOB); 14 COMMIT; 15 END; 16/www.2cto.com has been created. SQL> BEGIN 2 img_insert('1', 'win2000.gif '); 3 END; 4/PL/SQL process completed successfully. SQL> select length (t_image) from image_lob where t_id = '1'; LENGTH (T_IMAGE) ------------- 4670 SQL>