ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 61

61

原创 Linux操作系统 作者:simkyo 时间:2013-08-29 11:18:53 0 删除 编辑
   insert into t_photo (pno, picture) values (in_pno, empty_blob());
   select picture into b_lob from t_photo where pno = in_pno;
   f_lob := bfilename('dir3', filename);
   len1  := dbms_lob.getlength(f_lob);
   dbms_lob.fileopen(f_lob, dbms_lob.file_readonly);
   dbms_lob.loadfromfile(b_lob, f_lob, len1);
   dbms_lob.fileclose(f_lob);
   commit;
 end;
 调用过程
 begin pro_insert('P6','2222559.jpg');end;
 一个完整的存储图片的例子
SQL> CREATE TABLE IMAGE_LOB (
  2  T_ID VARCHAR2 (5) NOT NULL,
  3  T_IMAGE BLOB NOT NULL
  4  );
 表已创建。
  www.2cto.com 
SQL> CREATE OR REPLACE DIRECTORY IMAGES AS 'C:\Inetpub\wwwroot';
 目录已创建。
 SQL> CREATE OR REPLACE PROCEDURE IMG_INSERT (
  2  TID           VARCHAR2,
  3  FILENAME      VARCHAR2) AS
  4     F_LOB   BFILE;
  5     B_LOB   BLOB;
  6   BEGIN
  7       INSERT INTO IMAGE_LOB (T_ID, T_IMAGE) VALUES (TID,
  8  EMPTY_BLOB ()) RETURN T_IMAGE INTO B_LOB;
  9       F_LOB:= BFILENAME ('IMAGES', FILENAME);
10       DBMS_LOB.FILEOPEN (F_LOB, DBMS_LOB.FILE_READONLY);
11       DBMS_LOB.LOADFROMFILE (B_LOB, F_LOB,
12  DBMS_LOB.GETLENGTH (F_LOB));
13       DBMS_LOB.FILECLOSE (F_LOB);
14       COMMIT;
15   END;
16  /
过程已创建。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12961536/viewspace-769533/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 60
下一篇: 62
请登录后发表评论 登录
全部评论

注册时间:2013-06-20

  • 博文量
    193
  • 访问量
    139074