Removes an alias data type or a common language runtime (CLR) user-defined type from the current database.
Transact-SQL Syntax Conventions
DROP TYPE [ IF EXISTS ] [ schema_name. ] type_name [ ; ]
IF EXISTS
Applies to: SQL Server 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.
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.
Requires either CONTROL permission on type_name or ALTER permission on schema_name.
The following example assumes a type named ssn
is already created in the current database.
DROP TYPE ssn ;