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

下载本文档

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

文档简介

集合和成员函数第十章回顾在上一章中,我们讨论了数据库触发器内置程序包2目标本章讨论PL/SQL表和记录嵌套表和可变数组成员函数和过程3PL/SQL表和记录9-1PL/SQL表在PL/SQL块中临时使用、像数组一样的对象包含一列和一个主键不能对列和主键进行命名列可以是任何标量数据类型主键必须是binary_integer类型大小没有限制4PL/SQL表和记录9-2声明PL/SQL表在块、子程序或程序包的声明部分进行声明所包含的步骤定义表的类型TYPEtypenameISTABLEOFcol_defINDEXBYBINARY_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语句从表中向数据库中添加数据使用Delete语句从表中删除数据7PL/SQL表和记录9-5记录存储在字段中的一组相关数据项字段有自己的名称和数据类型可以使用%ROWTYPE来声明记录,它表示表的行优点用户定义的记录可以有任意数目的不同

数据类型的列8PL/SQL表和记录9-6声明记录首先,定义记录类型TYPEtypenameISRECORD

(列定义.…);

其中,typename

是类型名。

声明一个该类型的记录作为标识符recordtypetypename;

其中recordtype

是记录类型,而typename

是类型名。%type和%rowtype可以用来指定列的数据类型。NOTNULL列必须在声明部分进行初始化。9PL/SQL表和记录9-7引用记录引用字段的语法是recordname.columnname

用于给列赋值的语法是recordname.columnname:=expression;

其中,recordname

是记录名,而columnname

是列名,expression

是表达式。10PL/SQL表表和记记录9-8批量绑定定绑定-对PL/SQL变量的赋赋值批量绑定定-一次绑定定一整个个集合提高DML语句的性性能FORALL关键字用用于要在在发送到到SQL引擎之前前对输入入集合进进行批量量绑定11PL/SQL表表和记记录9-9BULKCOLLECT子句通知SQL引擎在将将输出集集合返回回到PL/SQL引擎之前前对它们们进行批批量绑定定用于下列子子句SELECTINTOFETCHINTORETURNINGINTO12嵌套表和可可变数组11-1嵌套表嵌套在另一一个表中的的表可以直接使使用SQL进行操纵通过添加额额外的集合合方法来扩扩展索引检检索表的功功能声明嵌套表表用来声明的的语法是TYPEtablenameISTABLEOFtabletype;其中,tablename是表名,而而tabletype是表类型。。13嵌套表和可可变数组11-2嵌套表声明时初始始化为NULL使用构造函函数来完成成初始化构造函数跟跟表类型同同名14嵌套套表表和和可可变变数数组组11-3创建建嵌嵌套套表表所所包包含含的的步步骤骤使用用CREATETYPE语句句来来创创建建类类型型使用用ASTABLEOF子句句基基于于此此类类型型创创建建另另一一个个类类型型使用用CREATETABLE语句句来来创创建建表表,,关关键键字字为为NESTEDTABLE……STOREAS15嵌套套表表和和可可变变数数组组11-4嵌套套表表与与索索引引检检索索表表相似似之之处处数据据类类型型有有相相同同的的结结构构用下下标标来来访访问问单单个个元元素素为索索引引检检索索表表编编写写的的代代码码同同样样适适用用于于嵌嵌套套表表16嵌套套表表和和可可变变数数组组11-5嵌套套表表与与索索引引表表差异异嵌套表

索引表使用SQL来操纵并存储在数据库中不可能下标范围:1到2147483647下标范围:-2147483647到2147483647可用ISNULL操作符来验证不可验证可用EXTEND和TRIM方法不可用17嵌套套表表和和可可变变数数组组11-6可变变数数组组类似似于于C或者者Pascal中的的数数组组的的数数据据类类型型类似似于于嵌嵌套套表表或或者者索索引引检检索索表表可以以对对其其元元素素数数目目设设置置限限制制18嵌套套表表和和可可变变数数组组11-7声明可变数组组用于声明可变变数组的语法法是TYPEtypenameISVARRAY(maximum_size)OFelement_type(notnull);typename是可变数组名名Maximum_size设置了元素的的数目Element_type不能为boolean、ref游标、表或者另一种种可变数组类类型19嵌套表和可变变数组11-8可变数组可变数组可以以存储在数据据库的列中只可以整个地地对可变数组组进行操纵要修改一个可可变数组,首首先要把其值值选到一个变变量中,进行行修改,然后后插入到表中中20嵌套表和可变变数组11-9集合方法方法描述Exists(n)如果第n个元素存在的话,返回TRUECount返回元素的总数Limit返回元素的最大数目First返回该集合的第一个元素Last返回该集合的最后一个元素21嵌套表和可变变数组11-10集合方法方法描述Prior(x)返回第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

提交评论