SQL> CREATE TABLE
IMAGE_LOB (T_ID VARCHAR2 (5) NOT NULL,T_IMAGE BLOB NOT NULL);
表已创建。
SQL> CREATE OR REPLACE DIRECTORY IMAGES AS
'/oravl01/oracle/local_img'; --图片目录
目录已创建。
SQL> CREATE OR REPLACE PROCEDURE IMG_INSERT (TID
VARCHAR2,FILENAME VARCHAR2) AS
2 F_LOB BFILE;
3 B_LOB BLOB;
4 BEGIN
5 INSERT INTO IMAGE_LOB (T_ID, T_IMAGE)
6 VALUES (TID,EMPTY_BLOB ()) RETURN T_IMAGE INTO B_LOB;
7 F_LOB:= BFILENAME ('IMAGES', FILENAME);
8 DBMS_LOB.FILEOPEN (F_LOB, DBMS_LOB.FILE_READONLY);
9 DBMS_LOB.LOADFROMFILE (B_LOB, F_LOB,
10 DBMS_LOB.GETLENGTH (F_LOB));11 DBMS_LOB.FILECLOSE (F_LOB);
12 COMMIT;
13 END;
14 /
过程已创建.
SQL> EXEC IMG_INSERT('1','f_TEST.jpg');
PL/SQL 过程已成功完成。