--禁用触发器
declare @Tbl char(20)
declare @Trig char(20)
declare @SQL char(200)
DECLARE c_Trig CURSOR FOR
---取所有触发器
select object_name(parent_obj) as TblName,[name] as TrigName
from sysobjects
where type='TR'
and (status & 2048=2048) --状态为“启用”
OPEN c_Trig
FETCH NEXT FROM c_Trig
INTO @Tbl, @Trig
WHILE @@FETCH_STATUS = 0
BEGIN
set @Sql='alter table ' + @Tbl + ' disable trigger ' + @Trig
exec(@sql) --因SQL Server中表名不能使用变量,故要使用SQL语句
FETCH NEXT FROM c_Trig
INTO @Tbl, @Trig
END
CLOSE c_Trig
DEALLOCATE c_Trig
[MSSQL]禁用触发器
最新推荐文章于 2023-07-11 18:20:59 发布
该篇博客介绍了如何在SQL Server中通过编写SQL语句遍历并禁用所有已启用的触发器。利用游标和动态SQL,查询sysobjects表获取触发器信息,并执行ALTER TABLE语句来禁用每个触发器。
245

被折叠的 条评论
为什么被折叠?



