DROP FUNCTION (Transact-SQL)
Applies to:
SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL analytics endpoint in Microsoft Fabric
Warehouse in Microsoft Fabric
Removes one or more user-defined functions from the current database. User-defined functions are created by using CREATE FUNCTION and modified by using ALTER FUNCTION.
The DROP function supports natively compiled, scalar user-defined functions. For more information, see Scalar User-Defined Functions for In-Memory OLTP.
Transact-SQL syntax conventions
Syntax
-- SQL Server, Azure SQL Database
DROP FUNCTION [ IF EXISTS ] { [ schema_name. ] function_name } [ ,...n ]
[;]
-- Azure Synapse Analytics, Parallel Data Warehouse, Microsoft Fabric
DROP FUNCTION [IF EXISTS] [ schema_name. ] function_name
[;]
Note
To view Transact-SQL syntax for SQL Server 2014 (12.x) and earlier versions, see Previous versions documentation.
Arguments
IF EXISTS
Conditionally drops the function only if it already exists. Available beginning with SQL Server 2016 and in SQL Database.
schema_name
Is the name of the schema to which the user-defined function belongs.
function_name
Is the name of the user-defined function or functions to be removed. Specifying the schema name is optional. The server name and database name cannot be specified.
Remarks
DROP FUNCTION will fail if there are Transact-SQL functions or views in the database that reference this function and were created by using SCHEMABINDING, or if there are computed columns, CHECK constraints, or DEFAULT constraints that reference the function.
DROP FUNCTION will fail if there are computed columns that reference this function and have been indexed.
Permissions
To execute DROP FUNCTION, at a minimum, a user must have ALTER permission on the schema to which the function belongs, or CONTROL permission on the function.
Examples
A. Dropping a function
The following example drops the fn_SalesByStore
user-defined function from the Sales
schema in the AdventureWorks2022 sample database. To create this function, see Example B in CREATE FUNCTION (Transact-SQL).
DROP FUNCTION Sales.fn_SalesByStore;
See Also
ALTER FUNCTION (Transact-SQL)
CREATE FUNCTION (Transact-SQL)
OBJECT_ID (Transact-SQL)
EVENTDATA (Transact-SQL)
sys.sql_modules (Transact-SQL)
sys.parameters (Transact-SQL)