在Sql Server 2005触发器中是否有办法获取执行期间附加触发器的表的名称和架构?
答案 0 :(得分:12)
SELECT
OBJECT_NAME(parent_id) AS [Table],
OBJECT_NAME(object_id) AS TriggerName
FROM
sys.triggers
WHERE
object_id = @@PROCID
然后您还可以使用OBJECTPROPERTY获取额外信息,例如之后/之前,删除/插入/更新,第一个/最后一个等
答案 1 :(得分:1)
这是一种了解它的肮脏方式
SELECT o.name
FROM sysobjects t
JOIN sysobjects o ON t.parent_obj = o.id
WHERE t.name = 'your_trigger_name'
<强> [编辑] 强>
根据其他答案和评论,我认为这适合你(MSSQL2000版本)
SELECT o.name
FROM sysobjects t
JOIN sysobjects o ON t.parent_obj = o.id
WHERE t.id = @@PROCID