Oracle PL/SQL 程序设计读书笔记 - 第13章 其他数据类型
2011-12-13 00:21
495 查看
Oracle PL/SQL 程序设计读书笔记 - 第13章 其他数据类型
maximun_size的取值范围从1到32767。而数据库中的RAW列最多只能容纳2000个字节。
注:一个表中的ROWID是可以改变的。在oracle8i之后出现的这个特性。所以通常不建议在我们的应用程序中使用ROWID。
DBMS_LOB.WRITEAPPEND 向LOB的末尾追加数据
BFILE不会参与到事务中,然而,对于BFILE定位符的修改可以回滚或者提交。
一般而言,在数据库内部,我们对BFILE口令能读取。
DBMS_LOB.LOADCLOBFROMFILE 从一个BFILE中加载到CLOB
DBMS_LOB.LOADBLOBFROMFILE 从一个BFILE中加载到BLOB。
DBMSLOB.CREATEMPORARY ( lobloc IN OUT NOCOPY [ BLOB | CLOB CHARACTER SET ANY_CS ], cache IN BOOLEAN, dur IN PLSINTEGER := DBMSLOB.SESSION);
释放临时LOB
DBMSLOB.FREETEMPORARY ( lobloc IN OUT NOCOPY [ BLOB | CLOB CHARACTER SET ANY_CS ]);
检查一个LOB是否是临时的
函数ISTEMPORARY可以告诉我们一个LOB定位符指向的到底是一个临时LOB还是一个持久化的LOB。返回1说明是一个临时LOB,返回0说明不是。
Oracle PL/SQL 程序设计读书笔记 - 第13章 其他数据类型
13.1 BOLEAN类型
13.2 RAW数据类型
我们可以用RAW数据类型保存和操作量比较少量的二进制数据。和VARCHAR2以及其他字符类型不同的是,在数据库和PL/SQL程序音来回传递RAW数据时,不会发生任何字符集的转换。variable_name RAW(maximun_size)
maximun_size的取值范围从1到32767。而数据库中的RAW列最多只能容纳2000个字节。
13.3 UROWID和ROWID数据类型
ROWID7就是一个行标识符,用来表示数据库表中一行记录的物理地址的二进制值。 UROWID中的U代表能用的,一个UROWID变量可以用于任何类型的表的任何ROWID。注:一个表中的ROWID是可以改变的。在oracle8i之后出现的这个特性。所以通常不建议在我们的应用程序中使用ROWID。
13.4 LOB数据类型
LOB可以保存大量(从8到128TB)的二进制数据。 内部的LOB(包括BLOB,CLOB,NCLOB)都保存在数据库内部,并且参与到数据库事务中。外部的LOB(BFILE)代表的保存在数据库表空间以外的操作系统中的二进制文件。外部LOB不参与到事务中。13.5 使用LOB
13.5.1 理解LOB定位符
数据库的LOB列存储的是LOB定位符,这些定位符又指向保存在数据库其他地方的LOB段的真实数据。13.5.2 LOB的空和NULL
一个空的LOB是指LOB定位符没有指向任何LOB数据。它和NULL LOB不同,后者是指LOB列中(或者变量)连LOB定位符都没有。我们必须首先用IS NULL测试来检查是否存在定位符,然后在检查长度非零。13.5.3 向LOB中写数据
DBMS_LOB.WRITE 向LOB中随机的写入数据DBMS_LOB.WRITEAPPEND 向LOB的末尾追加数据
13.5.3 读取LOB数据
DBMS_LOB.READ 读取LOB数据13.5.5 BFILE不同于其他
BFILE的值保存在一个操作系统文件中,而不是数据库内部。BFILE不会参与到事务中,然而,对于BFILE定位符的修改可以回滚或者提交。
一般而言,在数据库内部,我们对BFILE口令能读取。
DBMS_LOB.LOADCLOBFROMFILE 从一个BFILE中加载到CLOB
DBMS_LOB.LOADBLOBFROMFILE 从一个BFILE中加载到BLOB。
13.5.6 SecureFiles和BasicFiles
SecureFiles是从Oracle数据库的11g引入的,在旧的LOB实现方式上提供了许多改进,后者叫做BasicFiles。13.5.7 临时LOB
创建一个临时LOBDBMSLOB.CREATEMPORARY ( lobloc IN OUT NOCOPY [ BLOB | CLOB CHARACTER SET ANY_CS ], cache IN BOOLEAN, dur IN PLSINTEGER := DBMSLOB.SESSION);
释放临时LOB
DBMSLOB.FREETEMPORARY ( lobloc IN OUT NOCOPY [ BLOB | CLOB CHARACTER SET ANY_CS ]);
检查一个LOB是否是临时的
函数ISTEMPORARY可以告诉我们一个LOB定位符指向的到底是一个临时LOB还是一个持久化的LOB。返回1说明是一个临时LOB,返回0说明不是。
DBMS_LOB.ISTEMPORARY ( lob_loc IN OUT NOCOPY [ BLOB | CLOB CHARACTER SET ANY_CS ])
13.6 预定义的对象类型
13.6.1 XMLType 类型
13.6.2 URI 类型
13.6.3 Any 类型
相关文章推荐
- Oracle(PL/SQL编程基础(PL/SQL程序块与PL/SQL语句)、异常、游标、数据类型)
- 【SQL】Oracle的PL/SQL语法及其拓展数据类型总结
- Oracle PL/SQL的程序结构以及基本数据变量类型
- 解决从pl/sql查看oracle的number(19)类型数据为科学计数法的有关问题
- 【SQL】Oracle的PL/SQL语法及其拓展数据类型总结
- Oracle通过PL/SQL Developer导出数据为CSV格式,VARCHAR2类型的字段如果存入的是数值(例如3307830000004059)太长,最后一位会被置为0
- Oracle 10g复合数据类型pl/sql集合学习六——索引表、嵌套表、变长数组
- Oracle(PL/SQL编程基础(PL/SQL程序块与PL/SQL语句)、异常、游标、数据类型)
- Oracle PL/SQL数据类型、特殊数据类型
- ORACLE HANDBOOK系列之六:ODP.NET与复杂的PL/SQL数据类型(Using ODP.NET To Deal With Complex PLSQL Data Types)
- 2012年1月3日 星期二(oracle读书笔记,PL/SQL语言概述、块结构、数据类型)
- Oracle PL/SQL 程序设计读书笔记 - 第7章 使用数据
- Oracle 学习:PL/SQL循序渐进全面学习教程--课程十三 使用组合数据类型* 游标操纵数据
- Oracle PL/SQL 程序设计读书笔记 - 第11章 记录类型
- oracle pl/sql中使用自定义数据类型
- oracle复合数据类型学习五——pl/sql记录
- oracle PL/SQL的基本构成,块结构和基本语法要求,数据类型,变量定义,运算符和函数
- Oracle基本操作八:PL/SQL特殊数据类型%type %rowtype VARRAY TABLE RECORD
- oracle PL/SQL的基本构成,块结构和基本语法要求,数据类型,变量定义,运算符和函数
- 解决从pl/sql查看oracle的number(19)类型数据为科学计数法的问题