gpt4 book ai didi

tsql - T-SQL "timestamp"覆盖 "rowversion"数据类型列

转载 作者:行者123 更新时间:2023-12-04 10:04:44 25 4
gpt4 key购买 nike

我使用的是 Miscrosoft SQL Server 2012,因为在此 article说:

The timestamp syntax is deprecated. This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature.



我决定使用“rowversion”列而不是“timestamp”列。所以,我创建了下表:
CREATE TABLE [dbo].[TestTable]
(
[Col001] [INT] NOT NULL
,[Col002] [CHAR](2) NOT NULL
...
,[Col00N] [DATETIME2] NOT NULL
,[RowVersionID] [ROWVERSION] NOT NULL
,CONSTRAINT [PK_ProtoSurveyGlobalizationChanges_RowVersionID] PRIMARY KEY CLUSTERED
(
[RowVersionID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

一切看起来都很好,直到我按下了“ALT+F1”组合,它为我提供了有关我的表格的信息(如列详细信息),并且我看到“RowVersionID”列标记为“时间戳”类型。

我所做的下一个想法是使用 SQL Server Management Studio 2012“删除并创建我的表”,“生成的 SQL”更改了我的原始查询,如下所示:
[RowVersionID] [timestamp] NOT NULL

为什么服务器不使用我最初设置的类型,为什么在文章中建议我不要使用“时间戳”但服务器以某种方式选择了它?

最佳答案

它们是同义词,服务器无法告诉(一旦表被创建)您实际使用哪个词来创建表。

显然,在深处的某处,消息是timestamp已弃用还没有到达负责编写 SQL Server 脚本组件的人那里 - 所以脚本仍然说 timestamp .

关于tsql - T-SQL "timestamp"覆盖 "rowversion"数据类型列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14997535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com