在触发器中引用更新的表名

时间:2014-07-24 15:51:26

标签: triggers sql-server-2012

我想创建一个应用于多个表的插入触发器,它将信息添加到另一个表,该表基本上跟踪对第一个表(附带触发器的表)所做的更改。

我想添加哪个表更新到跟踪表,但我不确定如何引用已插入数据的表的名称。

CREATE TRIGGER trgAfterInsert ON dbo.MyTable
FOR INSERT
AS  
    insert into dbo.TrackingTable
           ([TableAltered],[RecordIdentifier],[DateAltered]) 
    SELECT NameOfTriggeredTable, ID, Now()
    FROM inserted;

我无法弄清楚是从哪里获得NameOfTriggeredTable

1 个答案:

答案 0 :(得分:2)

因为触发器是

CREATE TRIGGER trgAfterInsert ON dbo.MyTable
                              **************

我说你只是把'dbo.MyTable'放在那里。

它不能是别的,它是一个常数,真的。触发器始终只在一个表上。