Sql server 删除SQL Server 2016中表的列中生成的始终标识

Sql server 删除SQL Server 2016中表的列中生成的始终标识,sql-server,Sql Server,我有一个具有以下模式的表 CREATE TABLE [dbo].[ATMs] ( [StartTime] DATETIME2 (2) GENERATED ALWAYS AS ROW START NOT NULL CONSTRAINT [DF_M360_ATMs_StartTime] DEFAULT (SYSDATETIME()), [EndTime] DATETIME2 (2) GENERATED ALWAYS AS ROW END NOT NULL

我有一个具有以下模式的表

CREATE TABLE [dbo].[ATMs]
(
    [StartTime] DATETIME2 (2) GENERATED ALWAYS AS ROW START NOT NULL 
          CONSTRAINT [DF_M360_ATMs_StartTime] DEFAULT (SYSDATETIME()),
    [EndTime] DATETIME2 (2) GENERATED ALWAYS AS ROW END NOT NULL 
         CONSTRAINT [DF_M360_ATMs_EndTime] DEFAULT ('9999-12-31'),
    [ID] INT NOT NULL,
    [UserID] UNIQUEIDENTIFIER NOT NULL,
    [ApplicationID] VARCHAR(35) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL 
         CONSTRAINT [DF_M360_ATMs_ApplicationID] DEFAULT ('??????'),
    [ComputerNumber] SMALLINT NOT NULL 
         CONSTRAINT [DF_ATMs_ComputerNumber] DEFAULT ((-1)),
    [SQLStatement] CHAR(1) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL 
         CONSTRAINT [DF_M360_ATMs_SQLStatement] DEFAULT ('I'),
    [IsTriggered] BIT NOT NULL 
         CONSTRAINT [DF_ATMs_IsTriggered] DEFAULT (1),  
    [Location] NVARCHAR(200) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL
)
我想在此表中插入一些测试值

但我不能在“StartTime”列中插入值,因为它始终生成标识

因此,我想删除该标识,然后在表中插入一些值,然后再次添加该标识


您能否帮助我删除标识或提供任何其他解决方案将值插入“开始时间”列?

您是否尝试过对这些列使用默认值?我想你不必一次又一次地删除和添加这些列

INSERT INTO [dbo].[Department] ([DeptID] ,[DeptName] ,[ManagerID] ,
ParentDeptID], SysStartTime, SysEndTime)   
VALUES(11, 'Sales', 101, 1, default, default);  

有关更多详细信息:

我查看了
时态表上的MSDN
。我认为我们不能禁用或覆盖该属性并插入我们自己的值