我在SQL Server中有一个数据库表,我正在使用T-SQL的RowVersion来记录GenerationNumber,并检测是否有任何记录发生了更改。这个范例已经成功地用于我的应用程序,但是现在我想添加一个列,它不会递增UPDATE上的RowVersion列。
有没有从RowVersion增量中排除列的方法?或者我应该将RowVersion的数据类型更改为datetime,并在触发器中自己处理它?
欢迎提出任何建议或想法。
发布于 2017-09-19 19:58:10
如果您当前有一个表T -将其重命名为类似于T_Tracked的名称,并引入第二个表T_Untracked,该表具有回到第一个表的FK。
然后引入一个视图T,它将这些表连接在一起。您的应用程序将继续引用T。然后,您可以戴上您的“触发器编写”帽子,并在此视图上编写适当的触发器,以确保在insert期间填充这两个表,在delete期间删除这两个表,并且在update期间只更新适用的表。
这样,它看起来仍然是一个rowversion列,但是只影响T_Untracked的更新不会导致它被更改。
https://stackoverflow.com/questions/46299617
复制相似问题