Sql server 在SQL Server中使用触发器更新版本
我有一个包含几列数据的表,加上两列Sql server 在SQL Server中使用触发器更新版本,sql-server,triggers,Sql Server,Triggers,我有一个包含几列数据的表,加上两列rowId和rowVersion,都是int类型 我希望在每次更新行时增加rowVersion的值,因此,例如,如果rowVersion的当前值为2,我希望能够执行: UPDATE table1 SET name = 'John Smith' WHERE rowId = 1 AND rowVersion = 2; 然后触发器将rowVersion增加到3 我该怎么做?TIA在我发布问题之前,我尝试了类似的方法,但我尝试了其中rowId=inser
rowId
和rowVersion
,都是int
类型
我希望在每次更新行时增加rowVersion
的值,因此,例如,如果rowVersion
的当前值为2,我希望能够执行:
UPDATE table1
SET name = 'John Smith'
WHERE rowId = 1
AND rowVersion = 2;
然后触发器将rowVersion
增加到3
我该怎么做?TIA在我发布问题之前,我尝试了类似的方法,但我尝试了
其中rowId=inserted.rowId
,但没有成功。thx.如果更新了多个行,那么它们不都会被赋予相同的rowVersion值吗?一行中的每个更新都被视为一个,不管您如何编写更新查询
CREATE TRIGGER VersionTrigger
ON table1
after UPDATE
AS
UPDATE table1
SET rowVersion = rowVersion +1
WHERE rowId IN (SELECT rowId FROM inserted)
GO