用户自定义类型可以使用Oracle内嵌的数据类型和其他用户自定义类型作为对象类型的构建块,对象模型构成了在应用中数据的结构和行为。下面将描述用户自定义类型的种类。 提示:可以参考create Type和create type body获取更多的创建用户定义数据类型的信息;
- ==对象类型== 对象类型是真实世界实体的抽象,比如购买订单。对象类型是由下面三种元素的概要对象; 1)名称: 2)属性: 3)方法:
- ==REF数据类型== 对象标识符唯一的标识一个对象,你可以引用其他对象或者关系表的对象。一个被称为REF的对象类型代表一个引用。REF对象类型是其他对象标识符的容器。REF的值指向对象。 当REF值指向一个不存在的对象,REF会以“dangling”作为提示。dangling REF和NULL REF是不同的。可以使用条件语句 ==IS[NOT] DANGLING==来判断REF是dangling不是。
- ==Varray类型== 数组是数据元素的有序集合。给定数组对象的所有数组元素是相同的数据类型。每一个元素都有一个index,代表该元素在数组元素中的位置。 元素的个数是数组对象的大小。Oracle数组是可变大小的,通常被称为varrys.必须在声明的时候指定数组的最大容量。
- ==嵌套表类型== 嵌套表类型代表无序元素集合。元素可以是内嵌类型或者用户自定义类型。可以把嵌套表作为一个单列的表,嵌套表是对象类型,此时代表一个多列表,每一列对应对象类型的一个属性。