- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第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 概述 Oracle Database 10g系统提供了4种大对象(large object,lob)类型。这4种大对象类型的特点分别如下。 blob类型:二进制lob类型,主要用于存储二进制数据。 clob类型:字符lob类型,可以用来存储各种字符数据(主要是存储英文字符)。 nclob类型:国际语言字符lob类型,使用多字节存储各种语言的字符,主要用于存储非英文字符。 bfile类型:二进制file类型,用于存储指向数据库系统外的文件系统中的文件的指针。这些外部文件可以储存在硬盘上、DVD或CD等介质上。 18.2 lob数据的存储参数 在创建没有lob数据的表时,在create table语句中可能会有一个storage子句。在创建包含lob列的表时,可以为lob数据使用的数据区域指定存储参数,这时,需要在create table语句中再附加一个lob子句。下面介绍如何指定lob数据的存储参数。 由于proposal表中有3个lob列,所以现在需要修改create table语句,从而包含外部lob数据的存储说明,其中,proposalText和budget列将在数据库内存储数据,cover列中的数据将存储在数据库外部。 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所示的是可以dbms_lob程序包中可以使用方法。 18.4 提高大对象的使用效率 使用大对象数据有许多好处,方便地处理各种容量的数据。但是,当数据库中的数据太多时,也会给数据库管理员、应用开发人员和终端用户带来许多麻烦。对数据库管理员来说,大对象数据可以带来维护上和管理上的一系列问题。对于应用开发人员和终端用户来说,可以带来查询性能和数据可用性的问题。为了解决这种大对象数据应用带来的问题,Oracle D
您可能关注的文档
最近下载
- Unit 1 I love sports Part 1 (课件)2025-2026学年度外研版(三起)英语四年级上册.pptx VIP
- 高血压指南最新版2025完整版原文.docx VIP
- 四川开放大学《演讲与口才》终结性考核-95分.doc VIP
- HACCP过敏原控制程序.pdf VIP
- 浙江省温州市乐成寄宿中学2022-2023学年高一上学期语文期初月考试卷(含答案).docx VIP
- QBT 2623.4-2003 肥皂试验方法 肥皂中水分和挥发物含量的测定 烘箱法.docx VIP
- 地理信息安全在线培训考试题目完整版答案.docx
- 新代说明书.doc VIP
- 水泥混凝土路面“白改黑”施工工艺.pdf VIP
- 中考语文名著导读《红星照耀中国》专项练习题(含答案)1.doc VIP
文档评论(0)