-
简介
- 说明:Oracle属于面向对象的数据库,所以在Oracle中也允许用户基于类的结构进行数据表的创建,同时采用类的关系进行表中数据的维护
- 示例1:定义要使用的类结构
-- 删除emp_object,否则dept_object无法重新建立 DROP TYPE emp_object ; -- 定义部门类 CREATE OR REPLACE TYPE dept_object AS OBJECT ( atri_deptno NUMBER(2) , -- 部门编号 atri_dname VARCHAR2(14) , -- 部门名称 atri_loc VARCHAR2(13) , -- 部门位置 -- 取得对象信息 MEMBER FUNCTION tostring RETURN VARCHAR2 ) NOT FINAL ; / -- 定义Person类规范 CREATE OR REPLACE TYPE person_object AS OBJECT ( atri_pid NUMBER , -- 人员编号 atri_name VARCHAR2(10) , -- 人员姓名 atri_sex VARCHAR2(10) , -- 人员性别 NOT INSTANTIABLE MEMBER FUNCTION tostring RETURN VARCHAR2 , -- 定义抽象方法 -- 实现对象排序 NOT INSTANTIABLE MAP MEMBER FUNCTION compare RETURN NUMBER ) NOT FINAL NOT INSTANTIABLE ; -- 此处必须使用NOT INSTANTIABLE声明类 / -- 定义Emp类规范,此类为Person子类 CREATE OR REPLACE TYPE emp_object UNDER person_object ( atri_job VARCHAR2(9) , -- 雇员职位 atri_sal NUMBER(7,2) , -- 雇员工资 atri_comm NUMBER(7,2) , -- 雇员佣金 atri_dept dept_object , -- 雇员部门 |