--創建存儲圖片的表
CREATE TABLE IMAGE_LOB (T_ID VARCHAR2 (5) NOT NULL,T_IMAGE BLOB NOT NULL);
--創建存儲圖片的目錄
CREATE OR REPLACE DIRECTORY IMAGES AS 'C:\picture';
--在c:下自己建一個叫picture的文件夾
CREATE OR REPLACE PROCEDURE IMG_INSERT (TID VARCHAR2,FILENAME VARCHAR2) AS
F_LOB BFILE;--文件類型
B_LOB BLOB;
BEGIN
iNSERT INTO IMAGE_LOB (T_ID, T_IMAGE)
VALUES (TID,EMPTY_BLOB ()) RETURN T_IMAGE INTO B_LOB;
--插入空的blob
F_LOB:= BFILENAME ('IMAGES', FILENAME);
--獲取指定目錄下的文件
DBMS_LOB.FILEOPEN(F_LOB, DBMS_LOB.FILE_READONLY);
--以只讀的方式打開文件
DBMS_LOB.LOADFROMFILE (B_LOB, F_LOB,DBMS_LOB.GETLENGTH (F_LOB));
--傳遞對象
DBMS_LOB.FILECLOSE (F_LOB);
--關閉原始文件
COMMIT;
END;
/
--在C:\picture下放一張圖片1.gif
--將該圖片存入表
call IMG_INSERT('1','1.gif');