概述:要先取得clob定位器并锁定记录,缓冲区最大长度32767,超过要多次写入Selectclob_testIntov_clob2Fromtest_lobWherelob_id=1--Updatetest_lobSetclob_test=v_clob1Wherelob_id=1dbms_lob.write(v_clob2,
概述:要先取得clob定位器并锁定记录,缓冲区最大长度32767,超过要多次写入Selectclob_testIntov_clob2Fromtest_lobWherelob_id=1–Updatetest_lobSetclob_test=v_clob1Wherelob_id=1dbms_lob.write(v_clob2,。
--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,‘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_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_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,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,str) dbms_output.put_line(str) end
总结
以上是为你收集整理的Oracle clob 操作全部内容,希望文章能够帮你解决Oracle clob 操作所遇到的程序开发问题。
所有的伟大,都源于一个勇敢的开始!