sqlserver中的rowversion

rowversion##

公开数据库中自动生成的唯一二进制数字的数据类型。rowversion通常用作给表行加版本戳的机制,存储大小为8字节。rowversion数据类型只是递增的数字,不保留日期或时间。

适用范围:Sqlserver2008至当前版本

每个数据库都有一个计数器,当对数据库中包含rowversion列的表执行插入或更新操作时,该计数器就会增加。此计数器是数据库行版本。这可以跟踪数据库内的相对时间而不是相关联的实际时间。一个表只能有一个rowversion列。每次修改或插入包含rowversion列的行时,就会在rowversion列中插入经过增量的数据库行版本值。

timestamp的数据类型为rowversion数据类型的同义词

在create table或alter table语句中,不必为timestamp数据类型指定列名

CREATE TABLE ExampleTable (PriKey int PRIMARY KEY, timestamp);

如果不指定列名,则sqlserver数据库引擎将生成timestamp列名,但rowversion同义词不具有这样的行为,在使用rowversion时,必须指定列名,如下:

CREATE TABLE ExampleTable2 (PriKey int PRIMARY KEY, VerCol rowversion) ;

若要返回数据库的当前行版本值,请使用 @@DBTS

原文地址:https://www.cnblogs.com/goodlucklzq/p/4596827.html