码迷,mamicode.com
首页 > 数据库 > 详细

SQL中删除某数据库所有trigger及sp

时间:2014-06-17 13:56:01      阅读:279      评论:0      收藏:0      [点我收藏+]

标签:style   ext   color   com   strong   数据   

SQL中删除某数据库所有trigger及sp

 

编写人:CC阿爸

 

2014-6-14

 

在日常SQL数据库的操作中,如何快速的删除所有triggersp

以下有三种方式可快速处理。

 

 

--第一种

--事务的处理方法

Begin Transaction

Begin try

declare @SQL varchar(max)

set @SQL=‘‘

select @SQL=@SQL+name+‘,‘ from sysobjects where xtype=‘TR‘ and name<>‘DropDatabase‘

If ISNULL(@SQL,‘‘)!=‘‘

Begin

set @SQL=‘Drop Trigger ‘+LEFT(@SQL,len(@SQL)-1)

select  @SQL as aa

--exec(@SQL)

end

commit Transaction

End Try

Begin Catch

rollback tran

End Catch

 

 

--第二种方法

--采用光标的方式

 

--DECLARE cursorname cursor for select ‘drop PROCEDURE  ‘+name from sys.objects where name like ‘xx%‘ and xtype = ‘P‘ --删除对应的存储过程

DECLARE cursorname cursor for select ‘drop Trigger‘+name from sys.objects where name like ‘%‘ and type = ‘TR‘ --删除对应的触发器

open cursorname

declare @curname sysname

fetch next from cursorname into @curname

while(@@fetch_status=0)

  begin

 --exec(@curname)

 select @curname as aa

fetch next from cursorname into @curname

end

close cursorname

deallocate cursorname

 

--第三种方法

--简易办法,查询出来后,再在数据库中执行

select ‘drop Trigger ‘+name from sys.objects where name like ‘%‘ and type = ‘TR‘

select ‘drop PROCEDURE ‘+name from sys.objects where name like ‘%‘ and type = ‘P‘

SQL中删除某数据库所有trigger及sp,布布扣,bubuko.com

SQL中删除某数据库所有trigger及sp

标签:style   ext   color   com   strong   数据   

原文地址:http://www.cnblogs.com/bribe/p/3791622.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!