对象类型

来源:互联网 发布:巨人网络offer 编辑:程序博客网 时间:2024/05/20 16:12

对象类型
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的属性) ;

这里写图片描述

原创粉丝点击