Oracle知识之集合和成员函数_第1页
Oracle知识之集合和成员函数_第2页
Oracle知识之集合和成员函数_第3页
Oracle知识之集合和成员函数_第4页
Oracle知识之集合和成员函数_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、集合和成员函数第十章回顾在上一章章中,我我们讨论论了数据库触触发器内置程序序包2目标本章讨论论PL/SQL表和记录录嵌套表和和可变数数组成员函数数和过程程3PL/SQL表表和记记录9-1PL/SQL表在PL/SQL块中临时时使用、像数组组一样的的对象包含一列列和一个个主键不能对列列和主键键进行命命名列可以是是任何标标量数据据类型主键必须须是binary_integer类型大小没有有限制4PL/SQL表表和记记录9-2声明PL/SQL表在块、子子程序或或程序包包的声明明部分进进行声明明所包含的的步骤定义表的的类型TYPE typename IS TABLE OF col_defINDEXBYBI

2、NARY_INTEGER;声明该类类型的一一个PL/SQL表Tablenametypename;其中typename是类型名名。5PL/SQL表和记录录9-3引用PL/SQL表使用主键键值引用用PL/SQL表中的行行tablename(key_value)其中,tablename是表名,key_value是键值。赋值要给某行行赋值,请使用用tablename(key_value): =expression;其中tablename是表名,key_value是键值,expression是表达式式。6PL/SQL表表和记记录9-4管理PL/SQL表使用Insert语句从表表中向数数据库中中添加数数据

3、使用Delete语句从表表中删除除数据7PL/SQL表表和记记录9-5记录存储在字字段中的的一组相相关数据据项字段有自自己的名名称和数数据类型型可以使用用 %ROWTYPE来声明记记录,它它表示表表的行优点用户定义义的记录录可以有有任意数数目的不不同数数据类型型的列8PL/SQL表表和记记录9-6声明记录录首先,定定义记录录类型TYPE typename IS RECORD(列定义.);其中,typename是类型名名。声明一个个该类型型的记录录作为标标识符recordtype typename;其中recordtype是记录类类型,而而typename是类型名名。%type和%rowtype

4、可以用来来指定列列的数据据类型。NOTNULL列必须在在声明部部分进行行初始化化。9PL/SQL表表和记记录9-7引用记录录引用字段段的语法法是recordname.columnname用于给列列赋值的的语法是是recordname.columnname: =expression;其中,recordname是记录名名,而columnname是列名,expression是表达式式。10PL/SQL表表和记记录9-8批量绑定定绑定-对PL/SQL变量的赋赋值批量绑定定-一次绑定定一整个个集合提高DML语句的性性能FORALL关键字用用于要在在发送到到SQL引擎之前前对输入入集合进进行批量量绑定11

5、PL/SQL表表和记记录9-9BULK COLLECT子句通知SQL引擎在将将输出集集合返回回到PL/SQL引擎之前前对它们们进行批批量绑定定用于下列列子句SELECTINTOFETCHINTORETURNINGINTO12嵌套表和和可变数数组11-1嵌套表嵌套在另另一个表表中的表表可以直接接使用SQL进行操纵纵通过添加加额外的的集合方方法来扩扩展索引引检索表表的功能能声明嵌套套表用来声明明的语法法是TYPE tablenameISTABLEOFtabletype;其中,tablename是表名,而tabletype是表类型型。13嵌套表和和可变数数组11-2嵌套表声明时初初始化为为NULL使

6、用构造造函数来来完成初初始化构造函数数跟表类类型同名名14嵌套表和和可变数数组11-3创建嵌套套表所包包含的步步骤使用CREATETYPE语句来创创建类型型使用ASTABLEOF子句基于于此类型型创建另另一个类类型使用CREATETABLE语句来创创建表,关键字字为NESTEDTABLESTOREAS15嵌套表和和可变数数组11-4嵌套表与与索引检检索表相似之处处数据类型型有相同同的结构构用下标来来访问单单个元素素为索引检检索表编编写的代代码同样样适用于于嵌套表表16嵌套表和和可变数数组11-5嵌套表与与索引表表 差异嵌套表 索引表使用 SQL 来操纵并存储在数据库中不可能下标范围:1 到 2

7、147483647 下标范围:-2147483647 到 2147483647 可用 IS NULL 操作符来验证不可验证可用 EXTEND 和 TRIM 方法不可用17嵌套表和和可变数数组11-6可变数组组类似于C或者Pascal中的数组组的数据据类型类似于嵌嵌套表或或者索引引检索表表可以对其其元素数数目设置置限制18嵌套表和和可变数数组11-7声明可变变数组用于声明明可变数数组的语语法是TYPE typename IS VARRAY(maximum_size) OF element_type(not null);typename是可变数数组名Maximum_size设置了元元素的数数目El

8、ement_type不能为boolean、ref游标、表或者另另一种可可变数组组类型19嵌套表和和可变数数组11-8可变数组组可变数组组可以存存储在数数据库的的列中只可以整整个地对对可变数数组进行行操纵要修改一一个可变变数组,首先要要把其值值选到一一个变量量中,进进行修改改,然后后插入到到表中20嵌套表和和可变数数组11-9集合方法法方法描述Exists(n)如果第 n 个元素存在的话,返回 TRUE Count返回元素的总数Limit返回元素的最大数目First返回该集合的第一个元素Last返回该集合的最后一个元素21嵌套表和和可变数数组11-10集合方法法方法描述Prior (x)返回第

9、x 个元素之前的元素Next (x)返回第 x 个元素之后的元素Extend (x, y) 追加 x 个第 y 个元素的副本Trim (x) 从集合的末尾处截断 x 个元素Delete 删除部分或者全部元素22嵌套表和和可变数数组11-11可变数组组与嵌套套表相似之处处允许使用用下标来来访问单单个元素素可以存储储到数据据库的表表中差异可变数组组有最大大容量,而嵌套套表没有有可变数组组 -跟跟包含含它的表表存储在在一起,嵌套表-存存储在单单个表中中23成员函数数和过程程2-1构造函数数方法Oracle的每个对对象均有有一个内内置的构构造函数数方法用于创建建对象的的一个实实例无需显式式地定义义与对象类类型同名名24成员函数数和过程程2-2对象类型型包含类型型规格和和类型主主体类型规格格应用程序序的接口口声明数据据结构和和操作来来操纵数数据类型主体体定义方法法实现规格格25总结2-1PL/SQL表有一列列和一个个主键记

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论