适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Azure Synapse Analytics
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 and 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;