SQL> conn system/isd1502@pplsd Connected. SQL> drop table MY_DOCS; Table dropped. SQL> drop PROCEDURE load_file_to_my_docs; Procedure dropped. SQL> grant connect, resource, imp_full_database, exp_full_database to ppldev; Grant succeeded. SQL> GRANT EXECUTE ON CTX_DDL TO ppldev; Grant succeeded. SQL> CONN PPLDEV/PPLDEV@PPLSD Connected. SQL> CREATE TABLE my_docs ( 2 id NUMBER(10) NOT NULL, 3 name VARCHAR2(200) NOT NULL, 4 doc BLOB NOT NULL 5 ) 6 / Table created. SQL> ALTER TABLE my_docs ADD ( 2 CONSTRAINT my_docs_pk PRIMARY KEY (id) 3 ) 4 / 5 ; / * ERROR at line 4: ORA-01735: invalid ALTER TABLE option SQL> ALTER TABLE my_docs ADD ( 2 CONSTRAINT my_docs_pk PRIMARY KEY (id) 3 ); Table altered. SQL> CREATE SEQUENCE my_docs_seq; Sequence created. SQL> CREATE OR REPLACE DIRECTORY documents AS 'C:\work'; Directory created. SQL> CREATE OR REPLACE PROCEDURE load_file_to_my_docs (p_file_name IN my_docs.name%TYPE) AS 2 v_bfile BFILE; 3 v_blob BLOB; 4 BEGIN 5 INSERT INTO my_docs (id, name, doc) 6 VALUES (my_docs_seq.NEXTVAL, p_file_name, empty_blob()) 7 RETURN doc INTO v_blob; 8 9 v_bfile := BFILENAME('DOCUMENTS', p_file_name); 10 Dbms_Lob.Fileopen(v_bfile, Dbms_Lob.File_Readonly); 11 Dbms_Lob.Loadfromfile(v_blob, v_bfile, Dbms_Lob.Getlength(v_bfile)); 12 Dbms_Lob.Fileclose(v_bfile); 13 14 COMMIT; 15 END; 16 / 17 ; 18 19 / Warning: Procedure created with compilation errors. SQL> ED Wrote file afiedt.buf line 13 truncated. 1 CREATE OR REPLACE PROCEDURE load_file_to_my_docs (p_file_name IN my_docs.name%TYPE) AS 2 v_bfile BFILE; 3 v_blob BLOB; 4 BEGIN 5 INSERT INTO my_docs (id, name, doc) 6 VALUES (my_docs_seq.NEXTVAL, p_file_name, empty_blob()) 7 RETURN doc INTO v_blob; 8 v_bfile := BFILENAME('DOCUMENTS', p_file_name); 9 Dbms_Lob.Fileopen(v_bfile, Dbms_Lob.File_Readonly); 10 Dbms_Lob.Loadfromfile(v_blob, v_bfile, Dbms_Lob.Getlength(v_bfile)); 11 Dbms_Lob.Fileclose(v_bfile); 12 COMMIT; 13* END 14 ; 15 / Procedure created. -- CREATE A FOLDER NAMED WORK IN C DRIVE OF ORACLE SERVER MACHINE & PUT THE IMAGE FILE (APPL_FORM.PDF,CIMG1860.JPG) YOU WANT TO STORE IN ORACLE TABLE IN THAT FOLDER. THEN EXECUTE THE PROCEDURE load_file_to_my_docs. SQL> EXEC load_file_to_my_docs('APPL_FORM.PDF'); PL/SQL procedure successfully completed. SQL> EXEC load_file_to_my_docs('CIMG1860.JPG'); PL/SQL procedure successfully completed. SQL> COMMIT; Commit complete.