SQL SERVER 16 неправильный синтаксис рядом с генерируется - PullRequest
0 голосов
/ 17 октября 2019

Привет! Итак, я попробовал несколько разных вариантов создания во временной таблице в MS SQL SERVER 2016. https://www.mssqltips.com/sqlservertip/3680/introduction-to-sql-server-temporal-tables/

https://docs.microsoft.com/en-us/sql/relational-databases/tables/creating-a-system-versioned-temporal-table?view=sql-server-ver15

SQL Server 2016 TemporalНеверный синтаксис таблицы «GENERATED»

Однако, ни один из них не устранил мою проблему с сообщением об ошибке:

Сообщение 102, Уровень 15, Состояние 1, Строка99Неверный синтаксис рядом с «GENERATED». Сообщение 319, уровень 15, состояние 1, строка 104Неверный синтаксис рядом с ключевым словом «с». Если этот оператор является общим табличным выражением, предложением xmlnamespaces или предложением контекста отслеживания изменений, предыдущий оператор должен заканчиваться точкой с запятой. Msg 319, уровень 15, состояние 1, строка 106Неверный синтаксис рядом с ключевым словом «с». Если этот оператор является общим табличным выражением, предложением xmlnamespaces или предложением контекста отслеживания изменений, предыдущий оператор должен заканчиваться точкой с запятой.

по-прежнему появляется.

CREATE TABLE [dbo].[Report-New-History](
[ReportId] [int] NOT NULL,
[Code] [varchar](10) NOT NULL,
[Name] [varchar](255) NOT NULL,
[SysStartTime] [DATETIME2] NOT NULL,
[SysEndTime] [DATETIME2] NOT NULL,
);
GO

CREATE CLUSTERED COLUMNSTORE INDEX IX_ReportHistory
    ON [Report-New-History];
CREATE NONCLUSTERED INDEX IX_ReportNew_History_ID_PERIOD_COLUMNS
    ON [Report-New-History] (SysEndTime, SysStartTime, ReportId);
GO

CREATE TABLE [Report-New]
(
    [ReportId] [int] NOT NULL,
    [Code] [varchar](10) NOT NULL,
    [PreviousCode] [varchar](10) NULL,
    [Name] [varchar](255) NOT NULL,
    SysStartTime DATETIME2 GENERATED ALWAYS AS ROW START NOT NULL,  
    SysEndTime DATETIME2 GENERATED ALWAYS AS ROW END NOT NULL,     
    PERIOD FOR SYSTEM_TIME (SysStartTime,SysEndTime),
    CONSTRAINT PK_Report
        PRIMARY KEY CLUSTERED ([ReportId] ASC) 
        WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)  
) ON [PRIMARY]
WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = dbo.[Report-New-History]));

Это то, что у меня есть сейчас, но оно тоже не работает.

Любой совет, как заставить это работать?

...