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,'');
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 操作的更多相关文章
- ORACLE日常操作手册
转发自:http://blog.csdn.net/lichangzai/article/details/7955766 以前为开发人员编写的oracle基础操作手册,都基本的oracle操作和SQL语 ...
- 使用EnterpriseLibrary插入Oracle CLOB数据
转自:http://www.programgo.com/article/20022195177/ http://blog.csdn.net/ddxkjddx/article/details ...
- [转]Oracle 树操作(select…start with…connect by…prior)
转自http://www.cnblogs.com/linjiqin/archive/2013/06/24/3152674.html Oracle 树操作(select-start with-conne ...
- Oracle列操作(增加列,修改列,删除列)
Oracle列操作 增加一列: alter table emp4 add test varchar2(10); 修改一列: alter table emp4 modify test varchar2( ...
- 基于OCILIB的oracle数据库操作总结及自动生成Model和Dao的工具
基于OCILIB的oracle数据库操作总结 1. 类图 2. 基类BaseOCIDao的设计与实现 BaseOCIDao.h头文件 #pragma once /* ----- ...
- Oracle集合操作函数:union、intersect、minus
[转]Oracle集合操作函数:union.intersect.minus 集合操作符专门用于合并多条select 语句的结果,包括:UNION, UNION ALL, INTERSECT, MINU ...
- Oracle 树操作
Oracle 树操作(select…start with…connect by…prior) oracle树查询的最重要的就是select…start with…connect by…prior语法了 ...
- 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 ...
- C# Oracle数据库操作类实例详解
本文所述为C#实现的Oracle数据库操作类,可执行超多常用的Oracle数据库操作,包含了基础数据库连接.关闭连接.输出记录集.执行Sql语句,返回带分页功能的dataset .取表里字段的类型和长 ...
随机推荐
- Linux下MySQL安装及配置
Linux下MySQL安装及配置 安装MySQL Ubuntu系统中,直接使用apt install的方式去安装MySQL的服务端和客户端,MySQL的客户端必须安装,否则无法通过命令连接并操作MyS ...
- 插入排序算法Java实现
一. 算法描述 插入即表示将一个新的数据插入到一个有序数组中,并继续保持有序.例如有一个长度为N的无序数组,进行N-1次的插入即能完成排序:第一次,数组第1个数认为是有序的数组,将数组第二个元素插入仅 ...
- POJ 2084 Catalan
Game of Connections Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 8772 Accepted: 43 ...
- 笔记-Python-language reference-5.the import system
笔记-Python-language reference-5.the import system 前言 经常用到import,module,对其中的机制及原理有一定的了解,但没有将各种信息前后连通起来 ...
- 笔记-scrapy-item
笔记-scrapy-item 1.总述 爬虫数据保存用,一般情况下无需过多处理,引用并使用Field方法即可. 2.使用 常规使用: import scrapy class Product(scrap ...
- DHCP服务(dhcpd)
DHCP动态分配主机地址(Dynamic Host Configuration Protocol) 动态主机配置协议(DHCP)是一种基于UDP协议且仅限于在局域网内部使用的网络协议,主要用于大型的局 ...
- Android 使用Retrofit2.0+OkHttp3.0实现缓存处理+Cookie持久化第三方库
1.Retrofit+OkHttp的缓存机制 1.1.第一点 在响应请求之后在 data/data/<包名>/cache 下建立一个response 文件夹,保存缓存数据. 1.2.第二点 ...
- laravel5.5中间件
目录 1. 中间件知识 1. artisan 命令 2. 文件内容 3. 前置中间件和后置中间件 4. 使用中间件 2. 控制器中间件 1. 中间件知识 1. artisan 命令 php artis ...
- erlang节点互通查看
在局域网内部,一般用短节点名来完成短节点的全联通. 全联通的前提之一是cookie要相同,cookie记录在一个文件中. 对于同一个物理机上的两个erlang节点,不用其他配置就可以全 ...
- js 请求异常重连或断线后联网重连机制(ajax)
转到到 https://blog.csdn.net/mengtoumingren/article/details/80296788