删除对象类型的语法如下所示。

DROP TYPE objtype;

objtype 是要删除的对象类型的标识符。如果 objtype 的定义所包含的属性本身为对象类型或集合类型,则这些嵌套的对象类型或集合类型必须最后删除。

如果为对象类型定义了对象类型主体,则 DROP TYPE 命令会删除对象类型主体以及对象类型规格。要重新创建完整的对象类型,必须重新发出 CREATE TYPE 和 CREATE TYPE BODY 命令。

以下示例删除本章前面创建的 emp_obj_typ 和 addr_obj_typ 对象类型。必须先删除 emp_obj_typ,因为它在其定义中包含 addr_obj_typ 作为属性。

DROP TYPE emp_obj_typ;
DROP TYPE addr_obj_typ;

删除对象类型主体而不是对象类型规格的语法如下所示。

DROP TYPE BODY objtype;

通过发出 CREATE TYPE BODY 命令,可重新创建对象类型主体。

以下示例只删除 dept_obj_typ 的对象类型主体。

DROP TYPE BODY dept_obj_typ;