• 博客园logo
  • 会员
  • 周边
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Myth's space
好好学习,不见进步
博客园    首页    新随笔    联系   管理    订阅  订阅

ORACLE clob转换成Blob类型

ORACLE 10G R2上

测试通过。

CREATE OR REPLACE FUNCTION C2B (b IN CLOB default empty_clob())
   
RETURN BLOB
-- typecasts BLOB to CLOB (binary conversion)
IS
   res            BLOB;
   b_len          
number  := dbms_lob.getlength(b) ;
   dest_offset1   
NUMBER  := 1;
   src_offset1    
NUMBER  := 1;
   amount_c       
INTEGER := DBMS_LOB.lobmaxsize;
   blob_csid      
NUMBER  := DBMS_LOB.default_csid;
   lang_ctx       
INTEGER := DBMS_LOB.default_lang_ctx;
   warning        
INTEGER;
BEGIN

   
if  b_len  > 0  then
   DBMS_LOB.createtemporary (res, TRUE);
   DBMS_LOB.
OPEN (res, DBMS_LOB.lob_readwrite);
   DBMS_LOB.convertToBlob (res,
                           b,
                           amount_c,
                           dest_offset1,
                           src_offset1,
                           blob_csid,
                           lang_ctx,
                           warning
                          );
 
else
   
select   empty_blob()  into  res  from  dual ;
  
end if ;
   
RETURN res;                                             -- res is OPEN here
END C2B;

 

posted @ 2009-11-06 16:15  Mr.Myth  阅读(1450)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3