DROP FUNCTION (Transact-SQL)

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

适用范围:SQL Server(SQL Server 2008 至当前版本),Windows Azure SQL Database(初始版本至当前版本)。

主题链接图标 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.删除函数

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

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

请参阅

参考

ALTER FUNCTION (Transact-SQL)

CREATE FUNCTION (Transact-SQL)

OBJECT_ID (Transact-SQL)

EVENTDATA (Transact-SQL)

sys.sql_modules (Transact-SQL)

sys.parameters (Transact-SQL)