用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



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章