我有以下触发器,但需要找到行的标识,所以我不更新表中的所有记录。如何获得受影响行的身份?
BEGIN
UPDATE tb_Division SET LastModified = GetDate() WHERE "id of inserted/updated row"
END
最佳答案
由于 MS SQL Server 中的触发器不区分单记录和多记录操作,因此您应该使用 INSERTED 伪表 JOIN 表或使用子选择:
UPDATE tb_Division
SET LastModified = GETDATE()
WHERE id IN (SELECT id FROM INSERTED)
id 是表的主键列。
关于sql-server-2005 - 触发器中插入/更新行的标识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3183703/