适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Azure Synapse Analytics
分析平台系统(PDW)
Microsoft Fabric 中的 SQL 分析终结点
Microsoft Fabric 中的仓库
Microsoft Fabric 中的 SQL 数据库
从当前数据库中删除一个或多个用户定义函数。 用户自定义函数由使用 CREATE FUNCTION 创建,通过使用 ALTER FUNCTION修改。
DROP 函数支持本机编译的标量用户定义函数。 有关详细信息,请参阅内存中 OLTP 的标量用户定义函数。
语法
-- 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
[;]
参数
IF EXISTS
只有在函数已存在时才对其进行有条件地删除。 从 SQL Server 2016 和 SQL 数据库开始可用。
schema_name
用户定义函数所属的架构的名称。
function_name
要删除的用户定义函数的名称。 可以选择是否指定架构名称。 不能指定服务器名称和数据库名称。
注解
DROP FUNCTION 如果数据库中有 Transact-SQL 函数或视图引用该函数且是通过SCHEMABINDING创建的,或者存在计算的列、CHECK约束或 DEFAULT 引用该函数的约束,则将失败。
DROP FUNCTION 如果有计算出的列引用该函数并且已被索引,则会失败。
权限
执行 DROP FUNCTION,用户至少必须对该函数所属的模式拥有 ALTER 权限,或对该函数拥有 CONTROL 权限。
示例
A. 删除函数
以下示例将 fn_SalesByStore 用户自定义函数从AdventureWorks2025示例数据库中的 Sales 模式中移除。 要创建该函数,请参见(Transact-SQL)中的CREATE FUNCTION示例B。
DROP FUNCTION Sales.fn_SalesByStore;
另请参阅
ALTER FUNCTION (Transact-SQL)
CREATE FUNCTION (Transact-SQL)
OBJECT_ID(Transact-SQL)
EVENTDATA (Transact-SQL)
sys.sql_modules (Transact-SQL)
sys.parameters (Transact-SQL)