触发器需要知名才能删除吗?

来源:百度知道 编辑:UC知道 时间:2024/06/01 18:43:27
SQL Server 2000中的触发器必须知道其名字才能删除吗?

我想删除某个表上所有触发器,前提是我并不知道是什么名字,怎么删除呢?
不,您没明白我的意图,我指的是在编程的情况下,只删除触发器,不删除表。

奔驰M888,您的方法我用过,作为首选答案。但我还是想删除它们。谢谢。

Select 'Drop Trigger '+ name from sysobjects
where parent_obj = object_id( '表名') and type = 'TR '

把得到的结果赋值给一个string字符串。

然后执行这个字符串就OK了
如果有多条的话 就写个循环即可

删除触发器所在的表。删除表时,SQL Server将会自动删除与该表相关的触发器。
在SQL Server管理平台中,展开指定的服务器和数据库,选择并展开指定的表,右击要删除的触发器,从弹出的快捷菜单中选择“删除”选项,即可删除触发器。

不知道名字就直接禁用所有触发器,让他们全部失效就可以了:
Alter table t1 disable trigger all;

全部生效:
Alter table t1 enable trigger all;

**************
补充:查询一下触发器的名字吧那就。

select distinct name
from sysobjects
where xtype='tr' and object_name(parent_obj)='表名';

查询出来后:drop trigger trigger_name;

---
以上,希望对你有所帮助。