oracle 10 学习资料7677.pptx

上传人:jix****n11 文档编号:89963790 上传时间:2023-05-13 格式:PPTX 页数:27 大小:140.19KB
返回 下载 相关 举报
oracle 10 学习资料7677.pptx_第1页
第1页 / 共27页
oracle 10 学习资料7677.pptx_第2页
第2页 / 共27页
点击查看更多>>
资源描述

《oracle 10 学习资料7677.pptx》由会员分享,可在线阅读,更多相关《oracle 10 学习资料7677.pptx(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Version 3.0集合和成员函数集合和成员函数第十章第十章回顾回顾在上一章中,我们讨论了在上一章中,我们讨论了数据库触发器数据库触发器内置程序包内置程序包2 2目标目标本章讨论本章讨论PL/SQL表和记录表和记录嵌套表和可变数组嵌套表和可变数组成员函数和过程成员函数和过程3 3PL/SQL 表和记录表和记录9-1PL/SQL 表表在在PL/SQL块中临时使用、像数组一样的对象块中临时使用、像数组一样的对象包含一列和一个主键包含一列和一个主键不能对列和主键进行命名不能对列和主键进行命名列可以是任何标量数据类型列可以是任何标量数据类型主键必须是主键必须是binary_integer类型类型大小

2、没有限制大小没有限制4 4PL/SQL 表和记录表和记录9-2声明声明 PL/SQL 表表在块、子程序或程序包的声明部分进行声明在块、子程序或程序包的声明部分进行声明所包含的步骤所包含的步骤定义表的类型定义表的类型TYPE typename IS TABLE OF col_def INDEX BY TYPE typename IS TABLE OF col_def INDEX BY BINARY_INTEGER;BINARY_INTEGER;声明该类型的一个声明该类型的一个 PL/SQL 表表Tablename typenameTablename typename;其中其中 typenamet

3、ypename 是类型名。是类型名。5 5PL/SQL 表和记录表和记录9-3引用引用 PL/SQL 表表使用主键值引用使用主键值引用 PL/SQL 表中的行表中的行tablename(key_value)其中,其中,tablename 是表名,是表名,key_value 是键值。是键值。赋值赋值要给某行赋值,请使用要给某行赋值,请使用 tablename(key_value):=expression;其中其中 tablename 是表名,是表名,key_value 是键值,是键值,expression 是表达式是表达式。6 6PL/SQL 表和记录表和记录9-4管理管理 PL/SQL 表表使

4、用使用 Insert 语句从表中向数据库中添加数据语句从表中向数据库中添加数据使用使用 Delete 语句从表中删除数据语句从表中删除数据7 7PL/SQL 表和记录表和记录9-5记录记录存储在字段中的一组相关数据项存储在字段中的一组相关数据项字段有自己的名称和数据类型字段有自己的名称和数据类型可以使用可以使用%ROWTYPE 来声明记录,它表示表来声明记录,它表示表的行的行优点优点用户定义的记录可以有任意数目的不同用户定义的记录可以有任意数目的不同数据类型的列数据类型的列8 8PL/SQL 表和记录表和记录9-6声明记录声明记录首先,定义记录类型首先,定义记录类型TYPE typename

5、IS RECORD(列定义列定义.);.);其中,其中,typename 是类型名。是类型名。声明一个该类型的记录作为标识符声明一个该类型的记录作为标识符recordtype typename;其中其中 recordtype 是记录类型,而是记录类型,而 typename 是类型是类型名。名。%type和和%rowtype 可以用来指定列的数据类型。可以用来指定列的数据类型。NOT NULL 列必须在声明部分进行初始化。列必须在声明部分进行初始化。9 9PL/SQL 表和记录表和记录9-7引用记录引用记录引用字段的语法是引用字段的语法是recordname.columnname 用于给列赋值的

6、语法是用于给列赋值的语法是recordname.columnname:=expression;其中,其中,recordname 是记录名,而是记录名,而 columnname 是列名,是列名,expression 是表达式。是表达式。1010PL/SQL 表和记录表和记录9-8批量绑定批量绑定绑定绑定-对对 PL/SQL 变量的赋值变量的赋值批量绑定批量绑定-一次绑定一整个集合一次绑定一整个集合提高提高 DML 语句的性能语句的性能FORALL 关键字用于要在发送到关键字用于要在发送到 SQL 引擎之引擎之前对输入集合进行批量绑定前对输入集合进行批量绑定1111PL/SQL 表和记录表和记录9

7、-9BULK COLLECT 子句子句通知通知 SQL 引擎在将输出集合返回到引擎在将输出集合返回到 PL/SQL 引擎之前对它们进行批量绑定引擎之前对它们进行批量绑定用于下列子句用于下列子句SELECT INTOFETCH INTORETURNING INTO 1212嵌套表和可变数组嵌套表和可变数组11-1嵌套表嵌套表嵌套在另一个表中的表嵌套在另一个表中的表可以直接使用可以直接使用 SQL 进行操纵进行操纵通通过过添添加加额额外外的的集集合合方方法法来来扩扩展展索索引引检检索索表表的的功能功能声明嵌套表声明嵌套表用来声明的语法是用来声明的语法是TYPE tablename IS TABLE

8、 OF tabletype;TYPE tablename IS TABLE OF tabletype;其中,其中,tablenametablename 是表名,是表名,而而 tabletypetabletype 是表类型。是表类型。1313嵌套表和可变数组嵌套表和可变数组11-2嵌套表嵌套表声明时初始化为声明时初始化为 NULL使用构造函数来完成初始化使用构造函数来完成初始化构造函数跟表类型同名构造函数跟表类型同名1414嵌套表和可变数组嵌套表和可变数组11-3创建嵌套表所包含的步骤创建嵌套表所包含的步骤使用使用 CREATE TYPE 语句来创建类型语句来创建类型使用使用 AS TABLE

9、OF 子句基于此类型创建另一子句基于此类型创建另一个类型个类型使用使用 CREATE TABLE 语句来创建表,关键字语句来创建表,关键字为为 NESTED TABLE STORE AS1515嵌套表和可变数组嵌套表和可变数组11-4嵌套表与索引检索表嵌套表与索引检索表相似之处相似之处数据类型有相同的结构数据类型有相同的结构用下标来访问单个元素用下标来访问单个元素为索引检索表编写的代码同样适用于嵌套表为索引检索表编写的代码同样适用于嵌套表1616嵌套表和可变数组嵌套表和可变数组11-5嵌套表与索引表嵌套表与索引表 差异差异嵌套表嵌套表 索引表索引表使用使用 SQL SQL 来操纵并存储在数据来

10、操纵并存储在数据库中库中不可能不可能下标范围:下标范围:1 1 到到 2147483647 2147483647 下标范围:下标范围:-2147483647-2147483647 到到 2147483647 2147483647 可用可用 IS NULL IS NULL 操作符来验证操作符来验证不可验证不可验证可用可用 EXTEND EXTEND 和和 TRIM TRIM 方法方法不可用不可用1717嵌套表和可变数组嵌套表和可变数组11-6可变数组可变数组类似于类似于 C 或者或者 Pascal 中的数组的数据类型中的数组的数据类型类似于嵌套表或者索引检索表类似于嵌套表或者索引检索表可以对其元

11、素数目设置限制可以对其元素数目设置限制1818嵌套表和可变数组嵌套表和可变数组11-7声明可变数组声明可变数组用于声明可变数组的语法是用于声明可变数组的语法是TYPE typename IS VARRAY(maximum_size)OF element_type(not null);typename 是可变数组名是可变数组名Maximum_size 设置了元素的数目设置了元素的数目Element_type 不能为不能为 boolean、ref 游标游标、表或者另一种可变数组类型表或者另一种可变数组类型1919嵌套表和可变数组嵌套表和可变数组11-8可变数组可变数组可变数组可以存储在数据库的列中

12、可变数组可以存储在数据库的列中只可以整个地对可变数组进行操纵只可以整个地对可变数组进行操纵要修改一个可变数组,首先要把其值选到一要修改一个可变数组,首先要把其值选到一个变量中,进行修改,然后插入到表中个变量中,进行修改,然后插入到表中2020嵌套表和可变数组嵌套表和可变数组11-9集合方法集合方法方法方法描述描述Exists(n)Exists(n)如果第如果第 n n 个元素存在的话,返回个元素存在的话,返回 TRUE TRUE CountCount返回元素的总数返回元素的总数LimitLimit返回元素的最大数目返回元素的最大数目FirstFirst返回该集合的第一个元素返回该集合的第一个元

13、素LastLast返回该集合的最后一个元素返回该集合的最后一个元素2121嵌套表和可变数组嵌套表和可变数组11-10集合方法集合方法方法方法描述描述Prior(x)Prior(x)返回第返回第 x x 个元素之前的元素个元素之前的元素Next(x)Next(x)返回第返回第 x x 个元素之后的元素个元素之后的元素Extend(x,y)Extend(x,y)追加追加 x x 个第个第 y y 个元素的副本个元素的副本Trim(x)Trim(x)从集合的末尾处截断从集合的末尾处截断 x x 个元素个元素Delete Delete 删除部分或者全部元素删除部分或者全部元素2222嵌套表和可变数组嵌

14、套表和可变数组11-11可变数组与嵌套表可变数组与嵌套表相似之处相似之处允许使用下标来访问单个元素允许使用下标来访问单个元素可以存储到数据库的表中可以存储到数据库的表中差异差异可变数组有最大容量,而嵌套表没有可变数组有最大容量,而嵌套表没有可变数组可变数组-跟包含它的表存储在一起,跟包含它的表存储在一起,嵌套表嵌套表-存储在单个表中存储在单个表中2323成员函数和过程成员函数和过程2-1构造函数方法构造函数方法Oracle 的的每每个个对对象象均均有有一一个个内内置置的的构构造造函函数数方方法法用于创建对象的一个实例用于创建对象的一个实例无需显式地定义无需显式地定义与对象类型同名与对象类型同名

15、2424成员函数和过程成员函数和过程2-2对象类型对象类型包含类型规格和类型主体包含类型规格和类型主体类型规格类型规格应用程序的接口应用程序的接口声明数据结构和操作来操纵数据声明数据结构和操作来操纵数据类型主体类型主体定义方法定义方法实现规格实现规格2525总结总结2-1PL/SQL 表有一列和一个主键表有一列和一个主键记录是存储在字段中的一组相关数据记录是存储在字段中的一组相关数据批量绑定一次绑定整个集合并提高性能批量绑定一次绑定整个集合并提高性能嵌嵌套套表表类类似似于于 PL/SQL 表表并并且且大大小小不不受受限限制制2626总结总结2-2嵌套表自动地初始化为空嵌套表自动地初始化为空可变数组的长度可变可变数组的长度可变可可变变数数组组的的最最大大容容量量需需要要在在声声明明数数组组时时指指定定可变数组跟包含它的表是存放在一起的可变数组跟包含它的表是存放在一起的2727

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁