2016-09-13 55 views
2

我有一個表與下面的架構刪除生成始終身份爲表中的列在SQL Server 2016

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'列中,因爲它始終生成標識。

所以我想刪除該身份,然後將一些值插入到表中並重新添加身份。

您可以幫我解除身份或給任何其他解決方案將值插入'StartTime'專欄嗎?

+1

我通過MSDN繼續'時空table'。我不認爲我們可以禁用或覆蓋該屬性並插入我們自己的值 –

回答

0

您是否試過對這些列使用默認?我認爲你不必刪除並一次又一次添加這些列。

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

有關詳細信息:https://msdn.microsoft.com/en-us/library/mt591019.aspx

相關問題