日期:2014-05-16  浏览次数:20466 次

用T-SQL删除SQLSERVER数据库中所有的触发器

用触发器方式做数据抽取或同步时,抽取软件将针对每个抽取的数据库表建立相应的触发器,如果触发器比较多时手动删除所有触发器是件非常烦琐的事情,由于公司的某个系统经常要删除触发器,所以写了段T-SQL自动删除所有触发器。其中用到游标、循环等知识点,以后写相关程序时也可以参考之。

use 数据库名
go
declare @tname varchar(100),@cmd varchar(150)
declare csr cursor 
for select name from sysobjects where xtype='TR'
open csr
fetch next from csr into @tname
while @@fetch_status=0
begin
set @cmd = 'drop trigger ' + @tname;
exec(@cmd)
fetch next from csr into @tname
end
deallocate csr
go