删除函数注意事项
从当前数据库中删除一个或多个用户定义函数。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
示例结果:使用t-sql脚本删除函数之后需要刷新查看删除结果,依次显示删除命令执行结果和删除结果。