向达梦插入BLOB字段插入数据

–创建存储图片的表
CREATE TABLE IMAGE_LOB (T_ID VARCHAR2 (5) NOT NULL,T_IMAGE BLOB NOT NULL);
–创建存储图片的目录
CREATE OR REPLACE DIRECTORY IMAGES AS ‘D:/picture’;
–在d:下自己建一个叫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’,‘test1.jpg’);
call img_insert(‘1’,‘test2.jpg’);

你可能感兴趣的:(oracle,数据库)