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 .取表里字段的类型和长 ...
随机推荐
- 【笔记】objdump命令的使用
---恢复内容开始--- objdump命令是Linux下的反汇编目标文件或者可执行文件的命令,它还有其他作用,下面以ELF格式可执行文件test为例详细介绍: objdump -f test 显示t ...
- python向多个邮箱发邮件--注意接收是垃圾邮件
群发邮件注意:三处标红的地方 # -*- coding: UTF-8 -*- import smtplib from email.mime.text import MIMEText from emai ...
- scala Actor -03
1.对于上一篇讲解的scala的一些补充 val files = Array[String]("a.txt","b.txt","c.txt" ...
- The Django Book
The Django Book Table of contents 2.0, English -> Chinese Django book 2.0 的中文翻译. 最近更新 - 贡献者 方便自己也 ...
- 《Cracking the Coding Interview》——第1章:数组和字符串——题目1
2014-03-18 01:25 题目:给定一个字符串,判断其中是否有重复字母. 解法:对于可能有n种字符的字符集,用一个长度为n的数组统计每个字符的出现次数,大于1则表示有重复. 代码: // 1. ...
- SpringMVC 整合 kaptcha(验证码功能)
一.添加依赖 <dependency> <groupId>com.github.penggle</groupId> <artifactId>kaptch ...
- [18/12/3]蓝桥杯 练习系统 入门级别 Fibonacci数列求模问题 题解思路
前言略. 看到这个题目本来应该很高兴的,因为什么,因为太TM的基础了啊! 可是当你用常规方法尝试提交OJ时你会发现..hhh...运行超时..(开心地摇起了呆毛 //Fibonacci数列递归一般问题 ...
- android系统联系人分组特效实现(2)---字母表快速滚动
要实现这种功能,只需要在 android系统联系人分组特效实现(1)---分组导航和挤压动画 的基础上再加上一个自定义控件即可完成. 1.新建项目,继续新建一个java类,BladeView,用 ...
- BeanUtils Date
在jdbc封装(基础的CRUD)的时候(查询一条数据,查询多条数据,更新....)经常会用到一个BeanUtil来设置属性值,当对象中存在Date类型的时候,会报错:如下: 2017-11-03 13 ...
- [洛谷P3807]【模板】卢卡斯定理
题目大意:给你$n,m,p(p \in \rm prime)$,求出$C_{n + m}^m\bmod p(可能p\leqslant n,m)$ 题解:卢卡斯$Lucas$定理,$C_B^A\bmod ...