注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

陈钟鸣的博客

独立之精神,自由之思想.

 
 
 

日志

 
 

oracle blob写入(pl/sql)  

2008-04-18 09:44:16|  分类: oracle |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
--table
SQL> desc contents
------------------------------------------------
 ID                               VARCHAR2(10)
 FILETYPE                         VARCHAR2(100)
 CONTENTS                         BLOB

--create a dictectory
CREATE OR REPLACE DIRECTORY "BFILE_DIR" AS '/tmp/blob/'

--insert file into  "contents" column(blob)
CREATE OR REPLACE PROCEDURE LOAD_BLOB (filename varchar2)
 IS
  src_file BFILE;
  dst_file BLOB;
  vid varchar2(10);
  lgh_file BINARY_INTEGER;
BEGIN
     src_file := bfilename('BFILE_DIR', filename);
     INSERT INTO contents (id,filetype,contents)
     VALUES (lpad(to_char(filedata_seq.Nextval),10,'0'),filename,EMPTY_BLOB())
     RETURNING contents,id  INTO dst_file,vid;

     SELECT contents INTO dst_file
     FROM contents  WHERE id = vid FOR UPDATE;

     dbms_lob.fileopen(src_file, dbms_lob.file_readonly);
     lgh_file := dbms_lob.getlength(src_file);
     dbms_lob.loadfromfile(dst_file, src_file, lgh_file);

    UPDATE contents SET contents = dst_file
           WHERE id= vid;
    dbms_lob.fileclose(src_file);
    commit;
END load_blob;
  评论这张
 
阅读(63)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017