如何在SQL Server中删除触发器?

21

我需要删除SQL Server中的触发器。听起来应该很简单,但因为有一个叫做“删除触发器”的东西,即在删除时调用的触发器,所以似乎找不到关于如何实际删除已经存在的触发器的资源。


请确保您不会删除需要用于数据完整性的触发器。因为它阻止了您想要做的事情而删除触发器通常是一个暗示,表明您想要做的可能不是一个好主意。在未经数据库管理员咨询的情况下,永远不要删除触发器。 - HLGEM
5个回答

29

DROP TRIGGER

从当前数据库中删除一个或多个触发器...

您可以通过删除触发器或删除触发器表来删除触发器。当删除表时,所有相关联的触发器也会被删除。当删除触发器时,有关该触发器的信息会从sysobjects和syscomments系统表中删除。

使用DROP TRIGGER和CREATE TRIGGER重命名触发器。使用ALTER TRIGGER更改触发器的定义...


可以了!;) 嘿,谢谢!我会在11分钟后将其标记为正确答案,StackOverflow 防止我立即接受它。 - Teekin
3
在SQL中,“delete”是对行进行操作,“drop”是对数据库对象(例如触发器)进行操作。 - DwB
是的,在回顾起来确实非常明显。 - Teekin
请记得添加模式前缀,如果它不是dbo。因此,如果模式为'MySchema',则写入DROP TRIGGER MySchema.SomeTrigger。 - Loke

19

2

1
似乎您无法指定 [dbo].[Table] - Jari Turkia

1
我可以使用以下查询删除触发器。
DROP TRIGGER [Trigger_Name]

          (OR)            

DROP TRIGGER Trigger_Update

希望这对您有所帮助...

0
DROP TRIGGER IF EXISTS [dbo].[trigger_name];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接