资源预览内容
第1页 / 共27页
第2页 / 共27页
第3页 / 共27页
第4页 / 共27页
第5页 / 共27页
第6页 / 共27页
第7页 / 共27页
第8页 / 共27页
第9页 / 共27页
第10页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
集合和成员函数 第十章 2 回顾 在上一章中 我们讨论了数据库触发器内置程序包 3 目标 本章讨论PL SQL表和记录嵌套表和可变数组成员函数和过程 4 PL SQL表和记录9 1 PL SQL表在PL SQL块中临时使用 像数组一样的对象包含一列和一个主键不能对列和主键进行命名列可以是任何标量数据类型主键必须是binary integer类型大小没有限制 5 PL SQL表和记录9 2 声明PL SQL表在块 子程序或程序包的声明部分进行声明所包含的步骤定义表的类型TYPEtypenameISTABLEOFcol defINDEXBYBINARY INTEGER 声明该类型的一个PL SQL表Tablenametypename 其中typename是类型名 6 PL SQL表和记录9 3 引用PL SQL表使用主键值引用PL SQL表中的行tablename key value 其中 tablename是表名 key value是键值 赋值要给某行赋值 请使用tablename key value expression 其中tablename是表名 key value是键值 expression是表达式 7 PL SQL表和记录9 4 管理PL SQL表使用Insert语句从表中向数据库中添加数据使用Delete语句从表中删除数据 8 PL SQL表和记录9 5 记录存储在字段中的一组相关数据项字段有自己的名称和数据类型可以使用 ROWTYPE来声明记录 它表示表的行优点用户定义的记录可以有任意数目的不同数据类型的列 9 PL SQL表和记录9 6 声明记录首先 定义记录类型TYPEtypenameISRECORD 列定义 其中 typename是类型名 声明一个该类型的记录作为标识符recordtypetypename 其中recordtype是记录类型 而typename是类型名 type和 rowtype可以用来指定列的数据类型 NOTNULL列必须在声明部分进行初始化 10 PL SQL表和记录9 7 引用记录引用字段的语法是recordname columnname用于给列赋值的语法是recordname columnname expression 其中 recordname是记录名 而columnname是列名 expression是表达式 11 PL SQL表和记录9 8 批量绑定绑定 对PL SQL变量的赋值批量绑定 一次绑定一整个集合提高DML语句的性能FORALL关键字用于要在发送到SQL引擎之前对输入集合进行批量绑定 12 PL SQL表和记录9 9 BULKCOLLECT子句通知SQL引擎在将输出集合返回到PL SQL引擎之前对它们进行批量绑定用于下列子句SELECTINTOFETCHINTORETURNINGINTO 13 嵌套表和可变数组11 1 嵌套表嵌套在另一个表中的表可以直接使用SQL进行操纵通过添加额外的集合方法来扩展索引检索表的功能声明嵌套表用来声明的语法是TYPEtablenameISTABLEOFtabletype 其中 tablename是表名 而tabletype是表类型 14 嵌套表和可变数组11 2 嵌套表声明时初始化为NULL使用构造函数来完成初始化构造函数跟表类型同名 15 嵌套表和可变数组11 3 创建嵌套表所包含的步骤使用CREATETYPE语句来创建类型使用ASTABLEOF子句基于此类型创建另一个类型使用CREATETABLE语句来创建表 关键字为NESTEDTABLE STOREAS 16 嵌套表和可变数组11 4 嵌套表与索引检索表相似之处数据类型有相同的结构用下标来访问单个元素为索引检索表编写的代码同样适用于嵌套表 17 嵌套表和可变数组11 5 嵌套表与索引表差异 18 嵌套表和可变数组11 6 可变数组类似于C或者Pascal中的数组的数据类型类似于嵌套表或者索引检索表可以对其元素数目设置限制 19 嵌套表和可变数组11 7 声明可变数组用于声明可变数组的语法是TYPEtypenameISVARRAY maximum size OFelement type notnull typename是可变数组名Maximum size设置了元素的数目Element type不能为boolean ref游标 表或者另一种可变数组类型 20 嵌套表和可变数组11 8 可变数组可变数组可以存储在数据库的列中只可以整个地对可变数组进行操纵要修改一个可变数组 首先要把其值选到一个变量中 进行修改 然后插入到表中 21 嵌套表和可变数组11 9 集合方法 22 嵌套表和可变数组11 10 集合方法 23 嵌套表和可变数组11 11 可变数组与嵌套表相似之处允许使用下标来访问单个元素可以存储到数据库的表中差异可变数组有最大容量 而嵌套表没有可变数组 跟包含它的表存储在一起 嵌套表 存储在单个表中 24 成员函数和过程2 1 构造函数方法Oracle的每个对象均有一个内置的构造函数方法用于创建对象的一个实例无需显式地定义与对象类型同名 25 成员函数和过程2 2 对象类型包含类型规格和类型主体类型规格应用程序的接口声明数据结构和操作来操纵数据类型主体定义方法实现规格 26 总结2 1 PL SQL表有一列和一个主键记录是存储在字段中的一组相关数据批量绑定一次绑定整个集合并提高性能嵌套表类似于PL SQL表并且大小不受限制 27 总结2 2 嵌套表自动地初始化为空可变数组的长度可变可变数组的最大容量需要在声明数组时指定可变数组跟包含它的表是存放在一起的
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号