DROP TYPE (Transact-SQL)

Removes an alias data type or a common language runtime (CLR) user-defined type from the current database.

Topic link iconTransact-SQL Syntax Conventions

Syntax

DROP TYPE [ schema_name. ] type_name [ ; ]

Arguments

  • schema_name
    Is the name of the schema to which the alias or user-defined type belongs.

  • type_name
    Is the name of the alias data type or the user-defined type you want to drop.

Remarks

The DROP TYPE statement will not execute when any of the following is true:

  • There are tables in the database that contain columns of the alias data type or the user-defined type. Information about alias or user-defined type columns can be obtained by querying the sys.columns or sys.column_type_usages catalog views.

  • There are computed columns, CHECK constraints, schema-bound views, and schema-bound functions whose definitions reference the alias or user-defined type. Information about these references can be obtained by querying the sys.sql_expression_dependencies catalog view.

  • There are functions, stored procedures, or triggers created in the database, and these routines use variables and parameters of the alias or user-defined type. Information about alias or user-defined type parameters can be obtained by querying the sys.parameters or sys.parameter_type_usages catalog views.

For more information about investigating alias and user-defined type references, see Implementing User-Defined Types.

Permissions

Requires either CONTROL permission on type_name or ALTER permission on schema_name.

Examples

The following example assumes a type named ssn is already created in the current database.

DROP TYPE ssn ;