08 使用复合数据类型.pptVIP

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

使用复合数据类型 目标 完成本课后,应该可以做下列事情: 使用PL/SQL记录和%ROWTYPE属性 使用索引表、嵌套表和变长数组(VARRAY) 使用PL/SQL记录表 使用FORALL语句和BULK COLLECT子句 在嵌套表上使用集合操作符、在FOR ALL语句中使用INDICES OF子句和VALUES OF子句 概念总结 单行单列:标量 单行多列:记录(record) 多行单列:索引表、嵌套表、VARRY 多行多列:记录表 PL/SQL记录 PL/SQL记录(Record)类似于高级语言中的结构 使用PL/SQL记录可以简化单行多列的数据处理 PL/SQL记录由一组相关的记录成员(Field)组成 定义PL/SQL记录有两种方法: 自定义记录 使用%ROWTYPE属性定义 方法1:自定义PL/SQL记录 当使用自定义的PL/SQL记录时,需要分别定义PL/SQL记录类型和记录变量 语法如下: 方法2:使用%ROWTYPE属性定义记录变量 %ROWTYPE属性可以基于表或视图定义记录变量 简化了表或视图所有列数据的处理语法如下: 在SELECT INTO语句中使用PL/SQL记录 --使用记录变量 在SELECT INTO语句中使用PL/SQL记录 --使用记录成员 在Insert语句中使用PL/SQL记录 --在VALUES子句使用记录变量 当在VALUES子句中使用记录变量插入数据库时,列的顺序、个数、类型必须要与记录成员的顺序、个数、类型完全匹配。 在Insert语句中使用PL/SQL记录 --在VALUES子句使用记录成员 在UPDATE语句中使用PL/SQL记录 --在SET子句中使用记录变 在UPDATE语句中使用PL/SQL记录 --在SET子句中使用记录变 在SET子句中使用记录成员 在DELETE语句中使用PL/SQL记录 在SET子句中使用记录成员 PL/SQL集合 索引表 嵌套表 Nested Table 变长数组 VARRAY 索引表示例-使用BINARY_INTEGER和PLS_INTEGER 索引表示例-使用VARCHAR2 索引表 嵌套表的元素下标从1开始,且元素个数没有限制 嵌套表数组元素值可以是稀疏的 即可以在PL/SQL块中使用,也可以用于定义表列 语法: 当使用嵌套表元素时,必须首先使用其构造方法初始化嵌套表,如下所示: 索引表示例 在PL/SQL块中使用嵌套表 索引表示例 在表列中使用嵌套表 首先必须使用CREATE TYPE命令建立嵌套表类型 同时必须要为嵌套表列指定专门的存储表(自动创建) 索引表示例 在PL/SQL块中为嵌套表列插入数据 变长数组(VARRAY) 与高级语言数组非常类似,其元素下标以1开始,并且元素的最大个数是有限制的 即可以用于PL/SQL块,也可以用于定义表列 语法: 变长数组示例 在PL/SQL块中使用VARRAY 变长数组示例 在表列中使用VARRAY PL/SQL记录表 用于处理多行多列数据 多级集合 多级集合是指嵌套了集合类型的集合类型 通过使用多级集合,可以在PL/SQL中实现类似于多维数组的功能 9i以后的新特性 多级集合 在PL/SQL块中使用多级VARRAY 多级集合 在PL/SQL块中使用多级嵌套表 多级集合 在PL/SQL块中使用多级索引表 集合方法 集合方法用于操纵集合变量的内置函数或过程 EXISTS 确定集合元素是否存在 COUNT 返回当前集合变量中的元素总个数 LIMIT 返回集合元素的最大个数 FIRST 返回集合变量第一个元素的下标 LAST 返回集合变量最后一个元素的下标 PRIOR 返回当前集合元素的前一个元素的下标 NEXT 返回当前集合元素的后一个元素的下标 EXTEND 扩展集合变量的尺寸,并为它们增加元素 TRIM 从集合尾部删除元素 DELETE 该方法用于删除集合元素 集合赋值 将一个集合的数据赋值给另一个集合 使用赋值语句(:=)或SQL语句将源集合中的数据赋值给目标集合时 自动清除目标集合原有的数据,并将源集合中的数据赋值给该目标集合 给集合赋NULL值,有两种方法: 使用集合方法DELETE和TRIM 将一个NULL集合变量赋值给目标集合变量 集合赋值 给嵌套表赋值 SET操作符:取消特定嵌套表中的重复值 MULTISET UNION:取得两个嵌套表的并集 MULTISET UNION DISTINCT:取得两个嵌套表的并集,并取消重复结果 MULTISET INTERSECT:取得两个嵌套表的交集 MULTISET EXCEPT:取得两个嵌套表的差集 集合赋值 比较集合 IS NULL:检测集合是否为NULL 10g新特性 =:比较嵌套表是否相同

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档