SQL Server 2014 Express - 更新触发器未执行

时间:2014-08-28 21:28:55

标签: sql-server sql-server-2014 sql-server-2014-express

我安装了SQL Server 2014 Express来测试它(之前从未使用过)并遇到一些困难,主要是触发器。

首先,我不知道为什么"新的触发器"选项卡Triggers下的选项卡显示为灰色。

也许是因为我还没有使用过桌子......不知道......

好吧,我尝试用查询来做这件事:

create trigger dbo.after_update 
on dbo.MyTable
for UPDATE
as begin
   if not update(edited)
      update dbo.Mytable 
      set edited = GETDATE()
      where TW_ID IN (SELECT TW_ID FROM inserted)
END
GO

我收到错误:

  

Msg 8197,Level 16,State 4,Procedure after_update,Line 1   对象' MyTable'对于此操作不存在或无效。

TW_IDidentity列。编辑是smalldatetime

没有联合表格。我想要的是在有人更新表时更新列edited

1 个答案:

答案 0 :(得分:0)

CREATE TRIGGER dbo.after_update 
ON dbo.MyTable
FOR UPDATE
AS 
BEGIN
  SET NOCOUNT ON;

    UPDATE t 
      SET t.edited = GETDATE()
    FROM dbo.Mytable t 
    INNER JOIN inserted I  ON t.TW_ID = I.TW_ID
END
GO