1. 自定义数据类型
Oracle数据库不仅支持常规的内置数据类型,还支持用户定义的数据类型,包括对象类型(Object Type)、嵌套类型(Nested Table Type)和可变数组类型(Varray Data Type)。这些类型允许开发人员根据特定需求创建复杂的数据结构。
1.1 对象类型
对象类型(Object Type)用于定义具有类似结构的对象。这些对象包含属性和方法,类似于面向对象编程中的类。例如,可以定义一个“员工”对象类型,包含姓名、年龄、职位等属性:
CREATE OR REPLACE TYPE Employee AS OBJECT (
emp_id NUMBER,
first_name VARCHAR2(50),
last_name VARCHAR2(50),
birth_date DATE,
job_title VARCHAR2(100)
);
通过这个定义,可以创建一个表格,存储员工对象的实例:
CREATE TABLE Employees OF Employee;
1.2 嵌套表类型
嵌套表类型(Nested Table Type)用于存储具有类似结构的集合,类似于数组。与普通数组不同,嵌套表可以动态增长。
CREATE OR REPLACE TYPE PhoneNumber AS OBJ