我需要将配置为的现有表列更改GENERATED ALWAYS
为GENERATED BY DEFAULT
.
示例表结构
CREATE TABLE [dbo].[Contact](
[ContactID] [uniqueidentifier] NOT NULL,
[ContactNumber] [nvarchar](50) NOT NULL,
[SequenceID] [int] IDENTITY(1,1) NOT NULL,
[SysStartTime] [datetime2](0) GENERATED ALWAYS AS ROW START NOT NULL,
[SysEndTime] [datetime2](0) GENERATED ALWAYS AS ROW END NOT NULL,
CONSTRAINT [PK_Contact] PRIMARY KEY NONCLUSTERED
(
[ContactID] ASC
)WITH (PAD_INDEX = OFF,
STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY],
PERIOD FOR SYSTEM_TIME ([SysStartTime], [SysEndTime])
) ON [PRIMARY]
WITH
(
SYSTEM_VERSIONING = ON (HISTORY_TABLE = [dbo].[ContactHistory],
DATA_CONSISTENCY_CHECK = ON )
)
这是我现在已经拥有的表我需要将列更改
[SysStartTime]
为GENERATED BY DEFAULT
fromGENERATED ALWAYS
我尝试了以下代码
ALTER TABLE dbo.Contact ALTER column SysStartTime SET GENERATED BY DEFAULT
但它会引发错误
消息 156,级别 15,状态 1,第 19 行关键字“SET”附近的语法不正确。
请帮助我。