Oracle Database 10g基础教程(第二版) 教学课件 作者 978 7 302 15311 5 ch18.pptVIP

Oracle Database 10g基础教程(第二版) 教学课件 作者 978 7 302 15311 5 ch18.ppt

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、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

您可能关注的文档

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档