oracle删除lob对象,ORACLE LOB大对象处理
ORACLE LOB大对象处理
主要是用来存储大量数据的数据库字段,最大可以存储4G字节的非结构化数据。
主要介绍字符类型和二进制文件类型LOB数据的存储,单独介绍二进制类型LOB数据的存储。
一.Oracle中的LOB数据类型分类
BLOB: 二进制lob,为二进制数据,最长可达4GB,存贮在数据库中
CLOB: 字符lob,字符数据,最长可以达到4GB,存贮在数据库中。
BFILE: 二进制文件;存贮在数据库之外的只读型二进制数据,最大长度由操作系统限制。
NCLOB: 支持对字节字符集合(nultibyte characterset)的一个clob列.
ORACLE中对Lob数据类型的DML操作,都包含在dbms_lob包。
二 介绍一下关于DBMS_LOB包的四组方法:
1. LOB的I/O操作:Append,READ,WRITE,EARSE,OPEN,CLOSE
2. COVERTTOCLOB/COVERTTOBLOB
3. LOADFROMFILE/LOADBLOBFROMFILE/LOADCLOBFROMFILE
4. COMPARE,COPY,INSTR,SUBSTR,GETLENGTH,GETCHUNKSIZE,GET_STORAGE_LIMIT
下面做了一个实例:
/* 从CLOB中读取一行数据,
注: 本函数处理3类换行:ascii码为 1310, 10, 13 */
*/
function F_READ_LINE_FROM_CLOB
(
clobLoc in CLOB, /*传入的CLOB对象*/
nOffset in out number /*起始偏移位置,第一次使用时为“1”,
函数调用后自动移到下一行的起始位置,若
输出偏移量大于CLOB长度,表示已经结束*/
)
return varchar2
/*读取到的数据*/
is
nPosnumber(10);
nPos_13 number(10);
sLine varchar2(8192):=null;/*最大行长*/
nLineSize integer;
nLobLength number;
M_step integer:=1; /*换行的长度默认为1*/
begin
nLobLength:=dbms_lob.getlength(clobLoc);/*判断长度*/
if(nLobLength
return sLine;/*若偏移量大于长度,结束*/
end if;
nPos :=dbms_lob.instr(clobLoc,chr(10),nOffset,1);/*定位换行符位置*/
if(nPos>0) then/*找到换行*/
/*-----处理 1310 和 10 两种情况----*/
/*若chr(10)的前一个符号是chr(13),则跳过该符号*/
if(nLobLength>=nOffset) then
if(DBMS_LOB.SUBSTR(clobLoc,1,nPos-1)=chr(13)) then
nPos :=nPos-1;
m_step:=2;
end if;
end if;
nLineSize:=nPos-nOffset;/*获取本行长度*/
if(nLineSize>0) then/*若长度非零,则读取,放入sLine中*/
dbms_lob.read(clobLoc,nLineSize,nOffset,sLine);
end if;
nOffset:=nPos+m_step;/*定位下次的偏移量位置*/
m_step :=1;/*换行的长度默认为1*/
else/*未找到回车符号,则读取剩下的数据*/
nPos_13 :=dbms_lob.instr(clobLoc,chr(13),nOffset,1);/*定位换行符位置*/
if (nPos_13>0) then
/*-----处理 13 情况----*/
nLineSize:=nPos_13-nOffset;/*获取本行长度*/
if(nLineSize>0) then /*若长度非零,则读取,放入sLine中*/
dbms_lob.read(clobLoc,nLineSize,nOffset,sLine);
end if;
nOffset:=nPos_13+m_step; /*定位下次的偏移量位置*/
else
nLineSize:=nLobLength-nOffset+1;
if(nLineSize>0 and nLineSize<=8192) then
dbms_lob.read(clobLoc,nLineSize,nOffset,sLine);
end if;
nOffset:=nLobLength+1;
end if;
end if;
return (sLine);/*返回数据*/
end;
oracle删除lob对象,ORACLE LOB大对象处理相关推荐
- Oracle删除pk+cascade,Oracle删除表
在本教程中,将学习如何使用Oracle DROP TABLE语句删除现有的表. Oracle DROP TABLE语句简介 要将表移动到回收站或将其从数据库中完全删除,请使用DROP TABLE语句: ...
- oracle删除字段速度,oracle删除字段
oracle 动态字段,,oracle添加字段,oracle删除字段 Oracle 增加和删除字段 在创建表之后,可能会需要根据应用需求的变化向表中增... Oracle 删除表中重复数据 我们可能会 ...
- oracle 删除一个值,Oracle删除(delete)
Oracle删除(delete) Oracle中对表数据的删除是利用delete命令进行的. delete命令结构:delete from 表名 where 条件 命令解析: 1.当delete fr ...
- oracle 删除系统用户,Oracle数据库如何创建和删除用户
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 1. 创建用户: SQL> create user user01 identified by user01; User created. 但登录提示 ...
- oracle 删除用户 ora-00604,ORACLE下用户无法顺利删除问题处理一则-ORA-00604和ORA-00942错误...
今天遇到一则由于Oracle Spatial相关表不存在而导致个别用户无法删除的问题.比较有代表性,记录在此. 1.问题现象 在SYS用户下删除一个普通用户时抛出ORA-00604和ORA-00942 ...
- oracle 删除一个值,Oracle 删除数据的几种方法
删除表(记录和结构)的语名delete ---- truncate ---- drop DELETE (删除数据表里记录的语句) DELETE FROM表名 WHERE 条件; 注意 ...
- oracle 删除空间不足,oracle表空间扩容、创建、删除(解决表空间不足问题)
前言 整理一下之前使用oracle数据库遇到的表空间不足的问题,顺便水个博客. oracle表空间操作语句 1.改变已存在的数据文件的大小 ALTER TABLESPACE app_data ADD ...
- oracle删除字段约束条件,Oracle 数据库中关于对表字段约束的操作(设置、删除、查询)...
Oracle 数据库中关于对表字段约束的操作(设置.删除.查询) 1. 给表的单个字段加约束 SQL> ALTER TABLE 表名 ADD UNIQUE(字段名); 2. 删除表的单个字段约束 ...
- oracle 删除后恢复,Oracle快速恢复误删数据的方法
日常工作中,我们经常会出现误删Oracle数据的情况,当delete和drop(未加purge)表时,我们可以通过如下进行快速恢复: (1) delete 误删数据时: 我们可以通过构造一致性读的方式 ...
- oracle 删除表purge,Oracle Drop表并未直接删除 drop table xx purge
drop表 执行drop table xx 语句 drop后的表被放在回收站(user_recyclebin)里,而不是直接删除掉.这样,回收站里的表信息就可以被恢复,或彻底清除. 通过查询回收站us ...
最新文章
- [日更-2019.5.2、3、4] 关于JVM的概略分析
- mac版python3.7怎么使用_【Mac环境】Mac使用python3.7环境
- 感知哈希算法(Perceptual hash algorithm)的OpenCV实现
- postgreSQL源码分析——索引的建立与使用——Hash索引(2)
- 32位系统安装oracle11g,windows系统下 32位 安装Oracle 11g R2(11.2.0.1.0)图文安装教程
- 比较高效的表格行背景变色及选定高亮JS
- Github发现优秀的开源项目
- Excel与对齐的文本文件互转
- 分享一个在线301跳转代码生成工具
- spring boot英语在线学习系统毕业设计-附源码211714
- 计算机上的24点游戏怎么玩,趣味算数二十四点游戏规则怎么玩技巧
- time库:Python的时间时钟处理
- Uplift modeling for clinical trial data 论文阅读
- 异常与调试之SEH、UEH、VEH、VCH以及SEH的区别总结——简单好理解
- 地理信息安全在线培训考试系统题库-必对题
- 小程序中让后面的View覆盖到上一个view中
- Java实现 LeetCode 718 最长重复子数组(动态规划)
- python三维图形渲染 地图_Python地图可视化三大秘密武器
- 解决:Unknown column ‘字段名‘ in ‘field list‘报错
- 计算机网络课程实验4——编程实现路由算法(迪杰斯特拉算法)