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

[复制链接]
查看11 | 回复3 | 2009-7-16 21:26:08 | 显示全部楼层 |阅读模式
SQL Server 2000中的触发器必须知道其名字才能删除吗?
我想删除某个表上所有触发器,前提是我并不知道是什么名字,怎么删除呢?
不,您没明白我的意图,我指的是在编程的情况下,只删除触发器,不删除表。
奔驰M888,您的方法我用过,作为首选答案。但我还是想删除它们。谢谢。

回复

使用道具 举报

千问 | 2009-7-16 21:26:08 | 显示全部楼层
不知道名字就直接禁用所有触发器,让他们全部失效就可以了:Alter table t1 disable trigger all;全部生效:Alter table t1 enable trigger all;**************补充:查询一下触发器的名字吧那就。select distinct namefrom sysobjects where xtype='tr' and object_name(parent_obj)='表名';查询出来后:drop trigger trigger_name;---以上,希望对你有所帮助。...
回复

使用道具 举报

千问 | 2009-7-16 21:26:08 | 显示全部楼层
删除触发器所在的表。删除表时,SQL Server将会自动删除与该表相关的触发器。在SQL Server管理平台中,展开指定的服务器和数据库,选择并展开指定的表,右击要删除的触发器,从弹出的快捷菜单中选择“删除”选项,即可删除触发器。...
回复

使用道具 举报

千问 | 2009-7-16 21:26:08 | 显示全部楼层
Select 'Drop Trigger '+name
from sysobjects where parent_obj = object_id( '表名') and type = 'TR '把得到的结果赋值给一个string字符串。然后执行这个字符串就OK了如果有多条的话 就写个循环即...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行