我正在尝试创建一个触发器,在初始更新另一列后更新两列。
这是我到目前为止所做的:
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”。
我该如何解决这个问题?
答案 0 :(得分:3)
SUSER_SNAME
函数需要括号:
UPDATE tableName
SET dateColumn = CURRENT_TIMESTAMP,
userColumn = SUSER_NAME()
FROM INSERTED
WHERE tableName.PrimaryID = INSERTED.PrimaryID;