- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第18章使用大对象技术-Read.ppt
第18章 使用大对象技术
本章概述
本章要点
教学过程
本章概述
在Oracle Database 10g系统中,用户可以使用blob、clob、nclob、bfile等lob数据类型代替long和long raw来存储长数据。虽然Oracle系统允许创建long和long raw列,但是建议使用lob数据类型来创建新列,并且建议将现有的long和long raw列分别转换为clob或blob列。如果使用这些数据类型中的某一种来存储大对象,就可以利用Oracle Database 10g系统提供的新功能来浏览和操作数据,并且可以使用Oracle Text对clob数据执行文本搜索。
本章将介绍大对象技术的使用。
本章要点
大对象的概念和类型
创建大对象表技术
初始化大对象数据的方法
使用大对象函数技术
提高大对象使用效率技术
教学过程
18.1 概述
18.2 lob数据的存储参数
18.3 处理lob值
18.4 提高大对象的使用效率
教学过程
18.1 概述
18.2 lob数据的存储参数
18.3 处理lob值
18.4 提高大对象的使用效率
18.1 概述
Oracle Database 10g系统提供了4种大对象(large object,lob)类型。这4种大对象类型的特点分别如下。
blob类型:二进制lob类型,主要用于存储二进制数据。
clob类型:字符lob类型,可以用来存储各种字符数据(主要是存储英文字符)。
nclob类型:国际语言字符lob类型,使用多字节存储各种语言的字符,主要用于存储非英文字符。
bfile类型:二进制file类型,用于存储指向数据库系统外的文件系统中的文件的指针。这些外部文件可以储存在硬盘上、DVD或CD等介质上。
教学过程
18.1 概述
18.2 lob数据的存储参数
18.3 处理lob值
18.4 提高大对象的使用效率
18.2 lob数据的存储参数
在创建没有lob数据的表时,在create table语句中可能会有一个storage子句。在创建包含lob列的表时,可以为lob数据使用的数据区域指定存储参数,这时,需要在create table语句中再附加一个lob子句。下面介绍如何指定lob数据的存储参数。
由于proposal表中有3个lob列,所以现在需要修改create table语句,从而包含外部lob数据的存储说明,其中,proposalText和budget列将在数据库内存储数据,cover列中的数据将存储在数据库外部。
教学过程
18.1 概述
18.2 lob数据的存储参数
18.3 处理lob值
18.4 提高大对象的使用效率
18.3 处理lob值
在Oracle Database 10g系统中,可以使用多种方法来处理lob值。可以使用原来用于varchar2数据的字符串函数来处理lob数据。对于比较大的lob值,例如大于100KB,或对于那些复杂的数据操作,应该使用dbms_lob程序包来处理lob数据。除此之外,还可以使用OCI等程序。
本节主要介绍前两种处理方式。
初始化lob值
如图18-3的示例创建了proposal表。其中,proposalID列为主键列。proposal表中有3个lob列,即blob列、clob列和bfile列。对于每一个lob列,Oracle系统将保存一个定位器值,以便找到该记录存储的外部数据。
在向包含了lob值的表中插入记录时,可以用函数来告诉Oracle为内部存储的lob列创建一个空定位器。注意,空定位器值与null值不同。如果一个内部存储的lob列值为null,那么在更新为非null值之前,必须将其设置为空定位器。
用子查询插入数据
如果需要在proposal表中复制一条数据,可以采用子查询的形式。在如图18-7所示的示例中,使用子查询插入第三条建议数据。
更新lob值
在插入proposal表中的第三条建议时,proposalText列的值是从第一条记录中复制过来的。可以使用update语句更新这条新的建议数据。使用update语句更新建议数据的操作如图18-8所示。
使用字符串函数处理lob值
在Oracle系统中,可以使用字符串函数处理clob值。这些字符串函数包括substr、instr、ltrim等函数。
在如图18-9所示的示例中,使用select语句检索proposal表中的proposalText列数据,并且对该列数据使用了substr()函数。从图中可以看到,在使用substr函数检索数据时,一个中文就是一个字符。
使用dbms_lob处理lob值
可以使用dbms_lob程序包对lob数据进行复杂的处理。如表18-1所示
文档评论(0)