【问题标题】:Referencing updated table name in trigger在触发器中引用更新的表名
【发布时间】:2014-07-24 15:51:26
【问题描述】:

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

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

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

我不知道在哪里可以得到NameOfTriggeredTable

【问题讨论】:

  • @marc_s - 这是有道理的!将您的评论作为答案,我将投票作为答案。

标签: triggers sql-server-2012


【解决方案1】:

由于触发器是

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

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

它不可能是其他任何东西,它是一个常数,真的。触发器始终仅在 一个 表上。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多