oracle 10 学习资料

上传人:千****8 文档编号:118644757 上传时间:2019-12-21 格式:PPT 页数:27 大小:249KB
返回 下载 相关 举报
oracle 10 学习资料_第1页
第1页 / 共27页
oracle 10 学习资料_第2页
第2页 / 共27页
oracle 10 学习资料_第3页
第3页 / 共27页
oracle 10 学习资料_第4页
第4页 / 共27页
oracle 10 学习资料_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《oracle 10 学习资料》由会员分享,可在线阅读,更多相关《oracle 10 学习资料(27页珍藏版)》请在金锄头文库上搜索。

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

2、l_def INDEX BY BINARY_INTEGER; 声明该类型的一个 PL/SQL 表 Tablename typename; 其中 typename 是类型名。 5 5 PL/SQL 表和记录9-3 引用 PL/SQL 表 使用主键值引用 PL/SQL 表中的行 tablename (key_value) 其中,tablename 是表名,key_value 是键值。 赋值 要给某行赋值,请使用 tablename (key_value): = expression; 其中 tablename 是表名,key_value 是键值, expression 是表达式。 6 6 PL/S

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

4、ecordtype 是记录类型,而 typename 是类 型名。 %type和%rowtype 可以用来指定列的数据类型 。 NOT NULL 列必须在声明部分进行初始化。 9 9 PL/SQL 表和记录9-7 引用记录 引用字段的语法是 recordname.columnname 用于给列赋值的语法是 recordname.columnname: = expression; 其中,recordname 是记录名,而 columnname 是列名,expression 是表达式。 1010 PL/SQL 表和记录9-8 批量绑定 绑定 - 对 PL/SQL 变量的赋值 批量绑定 - 一次绑定

5、一整个集合 提高 DML 语句的性能 FORALL 关键字用于要在发送到 SQL 引擎之前 对输入集合进行批量绑定 1111 PL/SQL 表和记录9-9 BULK COLLECT 子句 通知 SQL 引擎在将输出集合返回到 PL/SQL 引擎之前对它们进行批量绑定 用于下列子句 SELECT INTO FETCH INTO RETURNING INTO 1212 嵌套表和可变数组11-1 嵌套表 嵌套在另一个表中的表 可以直接使用 SQL 进行操纵 通过添加额外的集合方法来扩展索引检索表的 功能 声明嵌套表 用来声明的语法是 TYPE tablename IS TABLE OF tablet

6、ype; 其中,tablename 是表名, 而 tabletype 是表类型。 1313 嵌套表和可变数组11-2 嵌套表 声明时初始化为 NULL 使用构造函数来完成初始化 构造函数跟表类型同名 1414 嵌套表和可变数组11-3 创建嵌套表所包含的步骤 使用 CREATE TYPE 语句来创建类型 使用 AS TABLE OF 子句基于此类型创建另一 个类型 使用 CREATE TABLE 语句来创建表,关键字 为 NESTED TABLE STORE AS 1515 嵌套表和可变数组11-4 嵌套表与索引检索表 相似之处 数据类型有相同的结构 用下标来访问单个元素 为索引检索表编写的代

7、码同样适用于嵌套表 1616 嵌套表和可变数组11-5 嵌套表与索引表 差异 嵌套表 索引表 使用 SQL 来操纵并存储在数据 库中 不可能 下标范围:1 到 2147483647 下标范围:-2147483647 到 2147483647 可用 IS NULL 操作符来验证不可验证 可用 EXTEND 和 TRIM 方法不可用 1717 嵌套表和可变数组11-6 可变数组 类似于 C 或者 Pascal 中的数组的数据类型 类似于嵌套表或者索引检索表 可以对其元素数目设置限制 1818 嵌套表和可变数组11-7 声明可变数组 用于声明可变数组的语法是 TYPE typename IS VAR

8、RAY(maximum_size) OF element_type (not null); typename 是可变数组名 Maximum_size 设置了元素的数目 Element_type 不能为 boolean、ref 游标、 表或者另一种可变数组类型 1919 嵌套表和可变数组11-8 可变数组 可变数组可以存储在数据库的列中 只可以整个地对可变数组进行操纵 要修改一个可变数组,首先要把其值选到一 个变量中,进行修改,然后插入到表中 2020 嵌套表和可变数组11-9 集合方法 方法描述 Exists(n)如果第 n 个元素存在的话,返回 TRUE Count返回元素的总数 Limit

9、返回元素的最大数目 First返回该集合的第一个元素 Last返回该集合的最后一个元素 2121 嵌套表和可变数组11-10 集合方法 方法描述 Prior (x)返回第 x 个元素之前的元素 Next (x)返回第 x 个元素之后的元素 Extend (x, y) 追加 x 个第 y 个元素的副本 Trim (x) 从集合的末尾处截断 x 个元素 Delete 删除部分或者全部元素 2222 嵌套表和可变数组11-11 可变数组与嵌套表 相似之处 允许使用下标来访问单个元素 可以存储到数据库的表中 差异 可变数组有最大容量,而嵌套表没有 可变数组 - 跟包含它的表存储在一起, 嵌套表 - 存

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

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

当前位置:首页 > 商业/管理/HR > 企业信息化/信息管理

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号