北大青鸟Oracle教程集Chapter 10

上传人:gp****x 文档编号:243042050 上传时间:2024-09-14 格式:PPT 页数:27 大小:311KB
返回 下载 相关 举报
北大青鸟Oracle教程集Chapter 10_第1页
第1页 / 共27页
北大青鸟Oracle教程集Chapter 10_第2页
第2页 / 共27页
北大青鸟Oracle教程集Chapter 10_第3页
第3页 / 共27页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,第一级,第二级,*,集合和成员函数,第十章,回顾,在上一章中,我们讨论了,数据库触发器,内置程序包,2,目标,本章讨论,PL/SQL,表和记录,嵌套表和可变数组,成员函数和过程,3,PL/SQL 表和记录9-1,PL/SQL,表,在,PL/SQL,块中临时使用、像数组一样的对象,包含一列和一个主键,不能对列和主键进行命名,列可以是任何标量数据类型,主键必须是,binary_integer,类型,大小没有限制,4,PL/SQL 表和记录9-2,声明,PL/SQL,表,在块、子程序或程序包的声明部分进行声明,所包含的步骤,定义表的类型,TYPE typename IS TABLE OF col_def INDEX BY BINARY_INTEGER;,声明该类型的一个,PL/SQL,表,Tablename typename;,其中,typename,是类型名。,5,PL/SQL,表和记录9-3,引用,PL/SQL,表,使用主键值引用,PL/SQL,表中的行,tablename (key_value),其中,,tablename,是表名,,key_value,是键值。,赋值,要给某行赋值,请使用,tablename (key_value): = expression;,其中,tablename,是表名,,key_value,是键值,,expression,是表达式,。,6,PL/SQL 表和记录9-4,管理,PL/SQL,表,使用,Insert,语句从表中向数据库中添加数据,使用,Delete,语句从表中删除数据,7,PL/SQL 表和记录9-5,记录,存储在字段中的一组相关数据项,字段有自己的名称和数据类型,可以使用 %,ROWTYPE,来声明记录,它表示表的行,优点,用户定义的记录可以有任意数目的不同数据类型的列,8,PL/SQL 表和记录9-6,声明记录,首先,定义记录类型,TYPE typename IS RECORD,(,列定义.);其中,,typename,是类型名。,声明一个该类型的记录作为标识符,recordtype typename;,其中,recordtype,是记录类型,而,typename,是类型名。,%type,和%,rowtype,可以用来指定列的数据类型。,NOT NULL,列必须在声明部分进行初始化。,9,PL/SQL 表和记录9-7,引用记录,引用字段的语法是,recordname.columnname,用于给列赋值的语法是,recordname.columnname: = expression;,其中,,recordname,是记录名,而,columnname,是列名,,expression,是表达式。,10,PL/SQL 表和记录9-8,批量绑定,绑定,-,对,PL/SQL,变量的赋值,批量绑定,-,一次绑定一整个集合,提高,DML,语句的性能,FORALL,关键字用于要在发送到,SQL,引擎之前对输入集合进行批量绑定,11,PL/SQL 表和记录9-9,BULK COLLECT,子句,通知,SQL,引擎在将输出集合返回到,PL/SQL,引擎之前对它们进行批量绑定,用于下列子句,SELECT INTO,FETCH INTO,RETURNING INTO,12,嵌套表和可变数组11-1,嵌套表,嵌套在另一个表中的表,可以直接使用,SQL,进行操纵,通过添加额外的集合方法来扩展索引检索表的功能,声明嵌套表,用来声明的语法是,TYPE tablename IS TABLE OF tabletype;,其中,,tablename,是表名,而,tabletype,是表类型。,13,嵌套表和可变数组11-2,嵌套表,声明时初始化为,NULL,使用构造函数来完成初始化,构造函数跟表类型同名,14,嵌套表和可变数组11-3,创建嵌套表所包含的步骤,使用,CREATE TYPE,语句来创建类型,使用,AS TABLE OF,子句基于此类型创建另一个类型,使用,CREATE TABLE,语句来创建表,关键字为,NESTED TABLE STORE AS,15,嵌套表和可变数组11-4,嵌套表与索引检索表,相似之处,数据类型有相同的结构,用下标来访问单个元素,为索引检索表编写的代码同样适用于嵌套表,16,嵌套表和可变数组11-5,嵌套表与索引表,差异,嵌套表,索引表,使用,SQL,来操纵并存储在数据库中,不可能,下标范围:1 到 2147483647,下标范围:-2147483647 到 2147483647,可用,IS NULL,操作符来验证,不可验证,可用,EXTEND,和,TRIM,方法,不可用,17,嵌套表和可变数组11-6,可变数组,类似于,C,或者,Pascal,中的数组的数据类型,类似于嵌套表或者索引检索表,可以对其元素数目设置限制,18,嵌套表和可变数组11-7,声明可变数组,用于声明可变数组的语法是,TYPE typename IS VARRAY(maximum_size) OF element_type (not null,);,typename,是可变数组名,Maximum_size,设置了元素的数目,Element_type,不能为,boolean、ref,游标,、,表或者另一种可变数组类型,19,嵌套表和可变数组11-8,可变数组,可变数组可以存储在数据库的列中,只可以整个地对可变数组进行操纵,要修改一个可变数组,首先要把其值选到一个变量中,进行修改,然后插入到表中,20,嵌套表和可变数组11-9,集合方法,方法,描述,Exists(n),如果第,n,个元素存在的话,返回,TRUE,Count,返回元素的总数,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-1,PL/SQL,表有一列和一个主键,记录是存储在字段中的一组相关数据,批量绑定一次绑定整个集合并提高性能,嵌套表类似于,PL/SQL,表并且大小不受限制,26,总结2-2,嵌套表自动地初始化为空,可变数组的长度可变,可变数组的最大容量需要在声明数组时指定,可变数组跟包含它的表是存放在一起的,27,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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