删除函数注意事项
从当前数据库中删除一个或多个用户定义函数。DROP 函数支持本机编译的标量用户定义函数。
如果数据库中存在引用 DROP FUNCTION 的 Transact-SQL 函数或视图并且这些函数或视图通过使用 SCHEMABINDING 创建,或者存在引用该函数的计算列、CHECK 约束或 DEFAULT 约束,则 DROP FUNCTION 将失败。
如果存在引用此函数并且已生成索引的计算列,则 DROP FUNCTION 将失败。
若要执行 DROP FUNCTION,用户至少应对函数所属架构具有 ALTER 权限,或对函数具有 CONTROL 权限。
使用SSMS数据库管理工具删除函数
1、连接数据库-》选择数据库-》展开可编程性-》展开函数-》展开要删除的函数类型-》选择要删除的函数-》右键点击-》选择删除。
2、在删除对象弹出框-》点击确定。
3、查看删除结果(不需要刷新)。
使用T-SQL脚本删除函数
语法:
--声明数据库引用
use 数据库名;
go
--判断是否存在函数,如果存在则删除
if exists(select * from sys.objects where name=[ schema_name. ] function_name)
drop function [ schema_name. ] function_name;
go
语法解析:
--if exists
--只有在函数已存在时才对其进行有条件地删除。 在 SQL Database 中以及从 SQL Server 2016 开始可用。
--schema_name
--用户定义函数所属的架构的名称。
--function_name
--要删除的用户定义函数的名称。 可以选择是否指定架构名称。 不能指定服务器名称和数据库名称。
示例:
--声明数据库引用
use testss;
go
--判断是否存在函数,如果存在则删除
if exists(select * from sys.objects where name='tablefun')
drop function dbo.tablefun;
go