DROP TYPE (Transact-SQL)

 

Updated: October 28, 2015

THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)yesAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

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

Topic link icon Transact-SQL Syntax Conventions

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

IF EXISTS

Applies to: SQL Server (SQL Server 2016 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 ;  

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

Community Additions

ADD
Show: