oracle存儲圖片

CREATE TABLE tb_photo
  (
     id    VARCHAR2(64),
     photo BLOB
  )


create or replace directory "images" as 'd:\pic\';
CREATE OR REPLACE PROCEDURE IMG_INSERT(ID VARCHAR2, FILENAME VARCHAR2) AS
  F_LOB BFILE;
  B_LOB BLOB;
BEGIN
  INSERT INTO TB_PHOTO
    (ID, PHOTO)
  VALUES
    (ID, EMPTY_BLOB()) RETURN PHOTO INTO B_LOB;
  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;


CALL img_insert('123456','aa.png');

SELECT * FROM tb_photo;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章