即使它存在,也找不到触发器?

时间:2013-05-09 18:32:52

标签: sql sql-server

所以我得到了一个数据库,我试图解决一个触发器错误(这是一个非常小的变化)但是我看了每个函数/触发器所以我做了一个:

select * from sys.triggers where name = 'NAME'

它返回了这个:

NAME    1181247263  1   OBJECT_OR_COLUMN    2053582354  TR  SQL_TRIGGER 2012-11-13 09:41:13.707 2013-03-19 14:08:22.583 0   0   0   0

这究竟是什么意思?实际上是一个名为OBJECT_OR_COLUMN的文件夹/函数

因为我看不到它?我是在SQL Server管理工作室btw。

3 个答案:

答案 0 :(得分:1)

这会告诉你相关的表......

select  t.name As TriggerName, 
        ss.name As SchemaName, 
        so2.name As TableName
from    sys.triggers t
Join    sysobjects so
        On  t.object_id = so.id
Join    sysobjects so2
        On  so.parent_obj = so2.id
Join    sys.schemas ss
        On  so2.uid = ss.schema_id
Where   t.name = 'NAME'

答案 1 :(得分:0)

第一列是名称,它似乎是您的触发器的名称是' NAME'

如果您需要查找它的位置,请使用此处Need to list all triggers in SQL Server database with table name and table's schema

中的此查询

答案 2 :(得分:0)

您需要查询sys.objects以查看父级的位置。

这应该找到你:

select * from sys.objects where object_id = '2053582354'

“OBJECT_OR_COLUMN”表示触发器的父级是对象或列。