DROP TYPE (Transact-SQL)

从当前数据库中删除别名数据类型或公共语言运行时 (CLR) 用户定义的类型。

主题链接图标Transact-SQL 语法约定

语法

DROP TYPE [ schema_name. ] type_name [ ; ]

参数

  • schema_name
    别名或用户定义的类型所属的架构名。

  • type_name
    要删除的别名数据类型或用户定义的类型的名称。

注释

在满足以下任何条件的情况下,将不执行 DROP TYPE 语句:

  • 数据库中存在包含别名数据类型列或用户定义的类型列的表。通过查询 sys.columnssys.column_type_usages 目录视图可获得有关别名类型列或用户定义的类型列的信息。

  • 存在定义中引用了别名类型和用户定义类型的计算列、CHECK 约束、架构绑定视图和绑定到架构的函数。通过查询 sys.sql_expression_dependencies 目录视图可获得有关这些引用的信息。

  • 存在在数据库中创建的函数、存储过程或触发器,且这些例程使用别名类型或用户定义的类型的变量和参数。通过查询 sys.parameterssys.parameter_type_usages 目录视图,可获取有关别名参数或用户定义类型参数的信息。

有关研究别名引用和用户定义类型引用的详细信息,请参阅 实现用户定义类型

权限

需要对 type_name 拥有 CONTROL 权限,或对 schema_name 拥有 ALTER 权限。

示例

以下示例假设已经在当前数据库中创建了一个名为 ssn 的类型。

DROP TYPE ssn ;