Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 插入WHERE子句的触发器_Sql Server_Tsql_Triggers - Fatal编程技术网

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()
。哇,这很管用……如果你把它作为答案添加进来,我会很乐意接受它@DanGuzmanTry
SUSER\u SNAME()
。哇,这很管用……如果你把它作为答案添加进来,我会很乐意接受@DanGuzman