asoka.hang's oracle/java blog

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  4 随笔 :: 0 文章 :: 0 评论 :: 0 Trackbacks
先提一下抽象数据类型的的概念,然后我们用抽象数据类型的扩展性来讲述继承在oracle中应用。

抽象数据类型:包含一个或多个子类型的数据类型,不局限于oracle的标准数据类型,可以用于其他数据类型中
语法:create type type_name as object(columns..)
not final关键字限制派生子类型

先创建一个抽象数据类型对象:

SQL >   create   or   replace  type person  as  object
  
2
  (
  
3      personname  varchar ( 10
),
  
4      personsex  varchar ( 2
),
  
5
     personbirth date
  
6   )  not
 final;
  
7    /

后面的not final表示该类型不是最终类型,是可以进行扩展的,就是后面我们继承所需要用到的功能。

再创建一个类型,并通过under关键字来对上面的类型进行扩展,也就是继承。

SQL >   create   or   replace  type employeetype under person
  
2
  (
  
3      empid  int
,
  
4      empsalary  int

  
5   );
  
6    /

通过desc employeetype查看表结构时发现,后面创建的employeetype类型已经默认继承了person类型的属性。

SQL> desc employeetype;
 studenttype extends SCOTT.PERSON
 名称                                                  是否为空? 类型
 
----------------------------------------------------- -------- -------------
 PERSONNAME                                                     VARCHAR2(10)
 PERSONSEX                                                      
VARCHAR2(2)
 PERSONBIRTH                                                    DATE
 EMPID                                                         
NUMBER(38)
 EMPSALARY                                                     
NUMBER(38)

类似的,可以将该类型应用到学生信息表、员工信息表中等类似的环境中去。

待续....
posted on 2006-04-12 14:37 asoka的oracle/java博客 阅读(447) 评论(0)  编辑  收藏 所属分类: Oracle

只有注册用户登录后才能发表评论。


网站导航: