使用 SQL Server 2014。
给定带有rowversion列的表,要加入的其他表和这样的选择:
CREATE TABLE dbo.FooTable(
[Id] [int] IDENTITY(1,1) NOT NULL,
[RowVersion] [rowversion] NULL,
CONSTRAINT [PK_FooTable] PRIMARY KEY CLUSTERED
(
[Id] ASC
))
CREATE TABLE dbo.BarTable(
[Id] [int] IDENTITY(1,1) NOT NULL
CONSTRAINT [PK_BarTable] PRIMARY KEY CLUSTERED
(
[Id] ASC
))
Insert into BarTable default values
GO
SELECT *
FROM FooTable ft
FULL OUTER JOIN BarTable bt on ft.Id = Bt.Id
Run Code Online (Sandbox Code Playgroud)
选择的结果是:
Id RowVersion Id
NULL 0x 1
Run Code Online (Sandbox Code Playgroud)
如果与 BarTable 不匹配,则RowVersion 列不是 null,而是 0x。
这让我们用来在应用服务器上反序列化结果的 …