Sql server 插入WHERE子句的触发器
我试图创建一个触发器,在另一列的初始更新之后更新两列 这就是我到目前为止所做的:Sql server 插入WHERE子句的触发器,sql-server,tsql,triggers,Sql Server,Tsql,Triggers,我试图创建一个触发器,在另一列的初始更新之后更新两列 这就是我到目前为止所做的: CREATE TRIGGER triggerName ON tableName AFTER UPDATE AS BEGIN SET NOCOUNT ON IF UPDATE (columnName) BEGIN UPDATE tableName SET dateColumn = CURRENT_TIMESTAMP, userCol
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\u name”无效
如何解决此问题?函数需要括号:
UPDATE tableName
SET dateColumn = CURRENT_TIMESTAMP,
userColumn = SUSER_NAME()
FROM INSERTED
WHERE tableName.PrimaryID = INSERTED.PrimaryID;
SUSER\u SNAME
函数需要括号:
UPDATE tableName
SET dateColumn = CURRENT_TIMESTAMP,
userColumn = SUSER_NAME()
FROM INSERTED
WHERE tableName.PrimaryID = INSERTED.PrimaryID;
试试看
SUSER\u SNAME()
。哇,这很管用……如果你把它作为答案添加进来,我会很乐意接受它@DanGuzmanTrySUSER\u SNAME()
。哇,这很管用……如果你把它作为答案添加进来,我会很乐意接受@DanGuzman