DROP TYPE 语句

使用 DROP TYPE 语句从数据库中删除用户定义的 Distinct 或 Opaque 数据类型。(您无法使用此语句删除内置数据类型。)

该语句是 SQL ANSI/ISO 标准的扩展。

语法

元素 描述 限制 语法
data_type 要删除的 Distinct 或 Opaque 数据类型的名称 必须是一个本地数据库中现有的用户定义的 Distinct 或 Opaque 类型;不能是内置数据类型 标识符
owner 数据类型所有者的名称 必须拥有数据类型 所有者名称

用法

要使用 DROP TYPE 语句删除 Distinct 或 Opaque 数据类型,您必须是此数据库类型的所有者或者拥有 DBA 特权。当您使用此语句时,就从数据库(sysxtdtypes 系统目录表中)中删除了数据类型定义。通常,此语句不会删除强制转型的任何定义与该数据类型相关的支持函数的任何定义。
Important: 当删除 Distinct 类型时,数据库服务器会自动删除在 Distinct 及其基于的类型之间的两个显式的强制转型。

如果您包含可选的 IF EXISTS 关键字,则如果未在当前数据库中注册用户定义的 Distinct 或 Opaque 数据类型,则数据库服务器不执行任何操作(而不是向应用程序发送异常)。

如果您尝试删除内置数据类型,则 DROP TYPE 语句失败。如,内置的 Opaque BOOLEAN 或 LVARCHAR 类型、或者内置的 Distinct IDSSECURITYLABEL 类型。

如果数据库包含任何定义引用了 Distinct 或 Opaque 类型的强制转型、列或用户定义的函数,则不能删除该数据类型。

以下语句删除 new_type 数据类型:
DROP TYPE new_type RESTRICT;