Oracle12C--对象表(66)

Oracle12C支持基于类的结构创建对象表,本文详细介绍了如何定义类结构、创建对象表、查看表结构、维护数据(增、删、改、查),并讨论了使用VALUE()和REF()函数在数据查询中的应用,以及对象表中数据冗余问题的解决策略。
摘要由CSDN通过智能技术生成
  • 简介
    • 说明: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 , -- 雇员部门

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值