--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. Linux下MySQL安装及配置

    Linux下MySQL安装及配置 安装MySQL Ubuntu系统中,直接使用apt install的方式去安装MySQL的服务端和客户端,MySQL的客户端必须安装,否则无法通过命令连接并操作MyS ...

  2. 插入排序算法Java实现

    一. 算法描述 插入即表示将一个新的数据插入到一个有序数组中,并继续保持有序.例如有一个长度为N的无序数组,进行N-1次的插入即能完成排序:第一次,数组第1个数认为是有序的数组,将数组第二个元素插入仅 ...

  3. POJ 2084 Catalan

    Game of Connections Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 8772   Accepted: 43 ...

  4. 笔记-Python-language reference-5.the import system

    笔记-Python-language reference-5.the import system 前言 经常用到import,module,对其中的机制及原理有一定的了解,但没有将各种信息前后连通起来 ...

  5. 笔记-scrapy-item

    笔记-scrapy-item 1.总述 爬虫数据保存用,一般情况下无需过多处理,引用并使用Field方法即可. 2.使用 常规使用: import scrapy class Product(scrap ...

  6. DHCP服务(dhcpd)

    DHCP动态分配主机地址(Dynamic Host Configuration Protocol) 动态主机配置协议(DHCP)是一种基于UDP协议且仅限于在局域网内部使用的网络协议,主要用于大型的局 ...

  7. Android 使用Retrofit2.0+OkHttp3.0实现缓存处理+Cookie持久化第三方库

    1.Retrofit+OkHttp的缓存机制 1.1.第一点 在响应请求之后在 data/data/<包名>/cache 下建立一个response 文件夹,保存缓存数据. 1.2.第二点 ...

  8. laravel5.5中间件

    目录 1. 中间件知识 1. artisan 命令 2. 文件内容 3. 前置中间件和后置中间件 4. 使用中间件 2. 控制器中间件 1. 中间件知识 1. artisan 命令 php artis ...

  9. erlang节点互通查看

    在局域网内部,一般用短节点名来完成短节点的全联通.     全联通的前提之一是cookie要相同,cookie记录在一个文件中.     对于同一个物理机上的两个erlang节点,不用其他配置就可以全 ...

  10. js 请求异常重连或断线后联网重连机制(ajax)

    转到到 https://blog.csdn.net/mengtoumingren/article/details/80296788