DROP FUNCTION (Transact-SQL)

从当前数据库中删除一个或多个用户定义函数。用户定义函数使用 CREATE FUNCTION 创建,使用 ALTER FUNCTION 修改。

主题链接图标Transact-SQL 语法约定

语法

DROP FUNCTION { [ schema_name. ] function_name } [ ,...n ] 

参数

  • schema_name
    用户定义函数所属的架构的名称。

  • function_name
    要删除的用户定义函数的名称。可以选择是否指定架构名称。不能指定服务器名称和数据库名称。

注释

如果数据库中存在引用 DROP FUNCTION 的 Transact-SQL 函数或视图并且这些函数或视图通过使用 SCHEMABINDING 创建,或者存在引用该函数的计算列、CHECK 约束或 DEFAULT 约束,则 DROP FUNCTION 将失败。

如果存在引用此函数并且已生成索引的计算列,则 DROP FUNCTION 将失败。

权限

若要执行 DROP FUNCTION,用户至少应对函数所属架构具有 ALTER 权限,或对函数具有 CONTROL 权限。

示例

A. 删除函数

下面的示例从 AdventureWorks 示例数据库的 Sales 架构中删除 fn_SalesByStore 用户定义函数。若要创建此函数,请参阅 CREATE FUNCTION (Transact-SQL) 中的示例 B。

USE AdventureWorks;
GO
IF OBJECT_ID (N'Sales.fn_SalesByStore', N'IF') IS NOT NULL
    DROP FUNCTION Sales.fn_SalesByStore;
GO