2017-09-19 141 views
0

我想創建一個觸發器來更新另一列的初始更新後的兩列。帶有INSERTED WHERE子句的觸發器

這是我到目前爲止有:

CREATE TRIGGER triggerName 
ON tableName 
AFTER UPDATE 
AS 
BEGIN 
    SET NOCOUNT ON 

    IF UPDATE (columnName) 
    BEGIN 
     UPDATE tableName 
     SET dateColumn = CURRENT_TIMESTAMP, 
      userColumn = SUSER_NAME 
     FROM INSERTED 
     WHERE tableName.PrimaryID = INSERTED.PrimaryID 
    END 
END 

我得到的錯誤:

無效列名 'SUSER_NAME'。

我該如何去解決這個問題?

+2

嘗試'SUSER_SNAME()'。 –

+0

WOW,那工作... wth ...如果你將它添加爲答案生病高興地接受它@DanGuzman – AznDevil92

回答

3

SUSER_SNAME功能需要括號:

UPDATE tableName 
SET dateColumn = CURRENT_TIMESTAMP, 
    userColumn = SUSER_NAME() 
FROM INSERTED 
WHERE tableName.PrimaryID = INSERTED.PrimaryID;