2011-06-08 24 views
1

对于MS Sql,如何查看Db上定义的所有触发器的列表?如何查看Db上定义的所有触发器的列表?

(我需要这是一个db表列的一个原因似乎有些触发(或多个)进行修改)

谢谢!

+0

为了什么数据库? – CristiC 2011-06-08 14:53:00

+0

@Parkyprg:那么,阅读这个问题是回答它的先决条件... – 2011-06-08 14:53:41

+0

对不起,刚才注意到....速度阅读....请参阅答案。 – CristiC 2011-06-08 14:54:17

回答

1

在MSSQL中:

select B.Name as TableName,A.name as TriggerName 
from sysobjects A,sysobjects B 
where A.xtype='TR' 
AND A.parent_obj = B.id 
0

http://weblogs.sqlteam.com/davidm/archive/2004/02/27/999.aspx

SELECT TRIGGER_NAME =名,trigger_owner = USER_NAME(UID),TABLE_NAME = OBJECT_NAME(parent_obj) isupdate = OBJECTPROPERTY(ID, 'ExecIsUpdateTrigger'),isdelete = OBJECTPROPERTY(ID, 'ExecIsDeleteTrigger' ), isinsert = OBJECTPROPERTY(ID, 'ExecIsInsertTrigger'),isafter = OBJECTPROPERTY(ID, 'ExecIsAfterTrigger'), isinsteadof = OBJECTPROPERTY(ID, 'ExecIsInsteadOfTrigger'), 状态= CASE OBJECTPROPERTY(ID, 'ExecIsTriggerDisabled')WHEN 1 THEN'Disabled'ELSE'Enabled'END FROM sysobjects WHERE type ='TR'

相关问题