Oracle数据库 对象类型

一、对象类型的定义

对象类型是用户自定义的一种复合数据类型,它封装了数据结构和用于操纵这些数据结构的过程和函数。
数据库的对象类型与Java的类似,都可以包含属性(用于存储对象的状态)和方法(用于建立对象的行为模型)。
对象类型:属性与方法组成
数据库对象的属性:由字段组成
对象类型有时也为用户自定义类型。
对象类型包括 对象类型规范(Object Type Specification)对象类型体(Object Type Body) 两个部分:对象类型规范,是对象与应用的接口,用于定义对象的共有属性和方法;对象类型体,用于实现对象类型规范所定义的公有方法(用于实现对象类型规范中定义的函数或者过程的具体实现代码)。

二、创建简单对象类型

2.1 语法

--只有对象类型规范,不需要对象类型体
create [or replace] type 对象类型名称 as object(
字段1 数据类型,
字段2 数据类型,
  ·      ·
  ·      ·
)

注意:对象类型属性用于描述对象所具有的特征,每个对象类型至少有1个属性,至多包含1000个属性。属性类型可以是除以下类型外的任何Oracle数据类型(包括对象类型):long、long row、nchar、nclob、nvarchar2、rowid、urowid、以及PL/SQL的特定类型 %type%rowtype

2.2 使用案例

--1.1创建一个学生的对象类型
create or replace type student_01 as object(
name varchar2(20),
sex varchar2(20),
age number(20)
);

--1.2使用该对象类型
---1.2.1可以将对象类型当作普通类型来使用,在创建对象的时候作为对象属性的数据类型
create or replace type student_01_test as object(
id number(20),
stu student_01
)
---1.2.2可以在创建表的时候使用对象类型
create table student_01_table(
no number(20),
student student_01_test
);
--2.1创建对象类型
create or replace type obj_emp_01 as object(
ename_obj varchar2(20),
job_obj varchar2(20),
sal_obj number(20)
);
--2.2使用对象类型
declare
  emps obj_emp_01; --定义对象实例
begin
  select obj_emp_01(ename,job,sal
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值