DROP TYPE (Transact-SQL)

Applies to: SQL Server Azure SQL Database Azure SQL Managed Instance

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

Transact-SQL syntax conventions

Syntax

DROP TYPE [ IF EXISTS ] [ schema_name. ] type_name [ ; ]  

Note

To view Transact-SQL syntax for SQL Server 2014 (12.x) and earlier versions, see Previous versions documentation.

Arguments

IF EXISTS
Applies to: SQL Server ( SQL Server 2016 (13.x) through current version).

Conditionally drops the type only if it already exists.

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.

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 ;  

See Also

CREATE TYPE (Transact-SQL)
EVENTDATA (Transact-SQL)