对象类型
1Oracle面向对象程序设计的体现
2它封装了数据结构和用于操纵这些数据结构的过程和函数。
3是用户自定义的复合数据类型
4它可以包含属性和方法
1)属性:描述对象所具有的特征;
2)方法:实现对象具有的行为;方法要在创建对象类型规范中声明,在对象类型体中具体实现.
5它包含对象类型规范和对象类型体
1)对象类型规范:对应于应用的接口,用户定义对象的公有属性和方法
2)对象类型体:用于实现对象类型规范所定义的公有方法

创建简单对象类型

create 【or replace】 type type_name as object (
column1 datatype[,column2 datatype,…])
type_name是对象类型的名称
column1是属性名称,
datatype是属性数据类型
注意:
1如果定义对象类型头时没有定义方法,则不需要建立对象类型体。
2定义对象类型最少要包含一个属性,最多包含1000个属性。
3定义时必须提供属性名和数据类型,但不能指定默认值和not null。
4属性类型不能是以下这些类型。
long ,long raw,nchar,nclob,nvarchar2,rowid,urowid,以及%type和%rowtype

举例

create or replace  type class as object (
id number,
name varchar2 ( 20 )  
) ;

这里写图片描述

使用简单对象类型

create or replace  type class2 as object (
superno number,
classObject class--使用对象类型class作为对象类型class2的属性
) ;



create table  class_table (
id number,
deptno varchar2 ( 20 ),  
classObject class--使用对象类型class作为表class_tab的属性
) ;

这里写图片描述

posted on 2017-06-02 13:32  2637282556  阅读(375)  评论(0编辑  收藏  举报