1

我需要将配置为的现有表列更改GENERATED ALWAYSGENERATED 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 DEFAULTfromGENERATED ALWAYS

我尝试了以下代码

ALTER TABLE dbo.Contact ALTER column SysStartTime SET GENERATED BY DEFAULT

但它会引发错误

消息 156,级别 15,状态 1,第 19 行关键字“SET”附近的语法不正确。

请帮助我。

4

0 回答 0