Привет! Итак, я попробовал несколько разных вариантов создания во временной таблице в 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]));
Это то, что у меня есть сейчас, но оно тоже не работает.
Любой совет, как заставить это работать?