zoukankan      html  css  js  c++  java
  • Oracle clob 操作

    --Oracle clob 操作
    -- Created on 2015/4/8 by TianPing
    declare 
      -- Local variables here
      v_clob1 Clob;
      v_clob2 Clob;
      v_amount Int;  --长度
      v_offset Int; --偏移量
      
      str varchar2(100);
    Begin   
           
    --初始或清空clob变量 dbms_lob.createtemporary(v_clob1,True); dbms_lob.createtemporary(v_clob2,True);

    --向clob变量写入字符 dbms_lob.write(v_clob1,30,1,'123456789012345678901234567890'); dbms_output.put_line(v_clob1);

    --初始或清空clob字段 Update test_lob Set clob_test=empty_clob() Where lob_id=1;
    --写入clob字段。要先取得clob定位器并锁定记录,缓冲区最大长度32767,超 过要多次写入 Select clob_test Into v_clob2 From test_lob Where lob_id=1;
    -- Update test_lob Set clob_test=v_clob1 Where lob_id=1; dbms_lob.write(v_clob2,26,1,'abcdefghijklmnopkrstuvwxyz');
    --取clob字段定位器 Select clob_test Into v_clob1 From test_lob Where lob_id=1 ; dbms_output.put_line(v_clob1);
    --向clob变量写入字符串 v_amount:=26; --写入长度 v_offset:=21; --开始写入位置 dbms_lob.write(v_clob1,v_amount,v_offset,'abcdefghijklmnopkrstuvwxyz'); dbms_output.put_line(v_clob1);
    --擦除clob变量部份字符串,擦掉部份用空格代替 v_amount:=5; --擦除长度 v_offset:=31; --开始擦除位置 dbms_lob.erase(v_clob1,v_amount,v_offset); dbms_output.put_line(v_clob1);
    --截取clob前面部份字符串 v_amount:=20; --截取长度 dbms_lob.trim(v_clob1,v_amount); dbms_output.put_line(v_clob1);
    --截取clob部份字符串,注意substr是一个函数而不是一个存储过程,不修改clob变量的值 v_amount:=11; --截取长度 v_offset:=3; --开始截位置 dbms_output.put_line(dbms_lob.substr(v_clob1,v_amount,v_offset)); dbms_output.put_line(v_clob1);
    --查找clob中字符串'89'从第11个字符开始第1次出现的位置 dbms_output.put_line(dbms_lob.instr(v_clob1,'89',11,1));
    --查找clob中字符串'89'从第5个字符开始第2次出现的位置,如不出现返回0 dbms_output.put_line(dbms_lob.instr(v_clob1,'89',11,2));

    --取clob对象长度 dbms_output.put_line(dbms_lob.getlength(v_clob1));

    --把缓冲区字串添加到clob对象尾部,缓冲区最大长度32767,超 过要多次写入 str:='abcdefghijklmnopqrstuvwxyz'; dbms_lob.append(v_clob1,str); dbms_output.put_line(v_clob1);
    --截取缓冲区前5个字符添加到clob对象尾部 str:='1234567890'; dbms_lob.writeappend(v_clob1,5,str); dbms_output.put_line(v_clob1);
    --读部份字串到缓冲区 v_amount:=26; --读取长度 v_offset:=21; --开始读取位置 dbms_lob.read(v_clob1,v_amount,v_offset,str); dbms_output.put_line(str); end;
  • 相关阅读:
    VS2013 update4+Cocos2d-x 3.7 Win8下安装方法及配置
    它处资料:二分图最大匹配的匈牙利算法
    DataGuard备库ORA-01196故障恢复一则
    Leetcode41: Remove Duplicates from Sorted List
    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发者工具 使用Napa开发SharePoint应用程序
    关于OC的内存管理-01
    P2002 消息扩散
    P1726 上白泽慧音
    2594 解药还是毒药
    P3385 【模板】负环
  • 原文地址:https://www.cnblogs.com/sekon/p/4404374.html
Copyright © 2011-2022 走看看