SQL中可以一次删除所有的函数吗?

在学习时建立了好多测试的函数。。。现在想把它删除,可以一次性删除吗?一个一个删除太麻烦了。。。谢谢!
最新回答
战皆罪

2024-11-25 10:18:19

不知道你创建的函数,其函数名有没有什么规律。
俺建立的函数,命名,一般是带有'dbo.func_'前缀的,如下:
create function dbo.func_GetAccountById (@Id int)
returns varchar (21)
as
begin
declare @Account varchar (21)
select @Account = account from Member where id = @Id
return @Account
end
go
于是,俺就可以山寨一条查询指令,打个比方:
select 'drop function [' + object_schema_name (object_id) + '].[' + object_name (object_id) + ']' from sys.objects where name like '%func_%'
你把这句话执行一下,生成所有的drop函数体的指令。
把这些指令复制到控制台,跑一遍,可能就删除完了。
总结一下,第一步,找命名规律,第二步,执行查询指令生成全部删除语句,第三步,执行全部删除指令。完了。
晴时不见荷

2024-11-25 20:33:16

drop function fn_1,fn_2,....