--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,'');
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,'',11,1));
--查找clob中字符串'89'从第5个字符开始第2次出现的位置,如不出现返回0
dbms_output.put_line(dbms_lob.instr(v_clob1,'',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:='';
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;

Oracle clob 操作的更多相关文章

  1. ORACLE日常操作手册

    转发自:http://blog.csdn.net/lichangzai/article/details/7955766 以前为开发人员编写的oracle基础操作手册,都基本的oracle操作和SQL语 ...

  2. 使用EnterpriseLibrary插入Oracle CLOB数据

    转自:http://www.programgo.com/article/20022195177/       http://blog.csdn.net/ddxkjddx/article/details ...

  3. [转]Oracle 树操作(select…start with…connect by…prior)

    转自http://www.cnblogs.com/linjiqin/archive/2013/06/24/3152674.html Oracle 树操作(select-start with-conne ...

  4. Oracle列操作(增加列,修改列,删除列)

    Oracle列操作 增加一列: alter table emp4 add test varchar2(10); 修改一列: alter table emp4 modify test varchar2( ...

  5. 基于OCILIB的oracle数据库操作总结及自动生成Model和Dao的工具

    基于OCILIB的oracle数据库操作总结 1.       类图 2.       基类BaseOCIDao的设计与实现 BaseOCIDao.h头文件 #pragma once /* ----- ...

  6. Oracle集合操作函数:union、intersect、minus

    [转]Oracle集合操作函数:union.intersect.minus 集合操作符专门用于合并多条select 语句的结果,包括:UNION, UNION ALL, INTERSECT, MINU ...

  7. Oracle 树操作

    Oracle 树操作(select…start with…connect by…prior) oracle树查询的最重要的就是select…start with…connect by…prior语法了 ...

  8. Oracle字符串操作[转:http://www.cnblogs.com/xd502djj/archive/2010/08/11/1797577.html]

    ORACLE 字符串操作 1 字符串连接   SQL> select 'abc' || 'def' from dual; 'ABC'|------abcdef 2 小写SQL>select ...

  9. C# Oracle数据库操作类实例详解

    本文所述为C#实现的Oracle数据库操作类,可执行超多常用的Oracle数据库操作,包含了基础数据库连接.关闭连接.输出记录集.执行Sql语句,返回带分页功能的dataset .取表里字段的类型和长 ...

随机推荐

  1. Qt的QWebChannel和JS、HTML通信/交互驱动百度地图

    Qt的QWebChannel和JS.HTML通信/交互驱动百度地图 0 前言 我一个研究嵌入式的,不知道怎么就迷上了上位机,接了几个项目都是关于Qt,这个项目还是比较经典的,自己没事儿的时候也进行研究 ...

  2. 宁夏邀请赛F FLOYD

    Moving On Firdaws and Fatinah are living in a country with nn cities, numbered from 11 to nn.Each ci ...

  3. poj 1957 二分搜索

    题意:N个灯泡离地H_i,满足H1 = A ,Hi = (Hi-1 + Hi+1)/2 – 1,HN = B ,求最小B. 思路: 只要二分第二个灯泡的高度就可以推出全部灯泡的高度 如果hi<0 ...

  4. K-均值聚类——电影类型

    K-均值聚类 K-均值算法试图将一系列样本分割成K个不同的类簇(其中K是模型的输入参数),其形式化的目标函数称为类簇内的方差和(within cluster sum of squared errors ...

  5. 微信小程序 | 51,live新课“小程序UI容器组件”的课堂计划

    零基础前端自学入门:小程序UI容器组件 这是一节以UI布局.容器组件的使用为主题的live,专注于布局与容器这一个点,努力把这一点讲透.这是继4月22日整体入门live“零基础周末学习小程序开发”之后 ...

  6. P3365 改造二叉树

    P3365 改造二叉树 链接 分析: 求出中序遍历后,然后使其变成上升子序列.过程:每个点减去坐标,然后nlogn求出最长不下降子序列,n-ans即答案. 做题时一直认为二叉树就是完全二叉树,然后一直 ...

  7. java 值传递 和 引用传递

    参考:(http://www.cnblogs.com/woshimrf/p/5263018.html) 参考:(http://www.cnblogs.com/binyue/p/3862276.html ...

  8. 《1024伐木累-周末特别篇》-中彩票了,开发APP

    本周发布的<1024伐木累>,受到了很多码汪们的好评,博主在这里感谢大家的支持,同时,博主临时起意,增加一期周末对话特别篇,让大家在“满血复活”的时间里,充分感受快乐的味道~ 1.中彩票 ...

  9. javascript将分,秒,毫秒转换为xx天xx小时xx秒(任何语言通用,最通俗易懂)

    // 传入参数为总分钟数,如果为秒数,毫秒数,需要对 // 此处得到总秒数 注释部分的代码调整下. function toDateDMS(minutes){ // 将分钟转换为 天,时,分,秒 if( ...

  10. Python 3基础教程9-函数

    本文介绍Python中的函数,主要了解如何定义一个函数,如何调用一个函数. 如果上面你不写调用函数这行代码,你运行后,是没有打印输出的.我们这里来,结合前面的if语句来定义一个,两个数比较,判断最大的 ...