如果我尝试将外键添加到 Visual Studio 中的临时表,它无法解析对主表的引用。无论该表也是临时表还是不是临时表,都会发生这种情况。
文档说你不能在临时表的历史表中拥有外键......但他们并没有说你不能在临时表本身中拥有它们。
可能吗 ?
CREATE TABLE [Doc].[Document]
(
[Id] INT NOT NULL PRIMARY KEY IDENTITY,
[SysStart] DATETIME2 (7) GENERATED ALWAYS AS ROW START NOT NULL DEFAULT CAST('1900-1-1 00:00:00.0000000' AS datetime2),
[SysEnd] DATETIME2 (7) GENERATED ALWAYS AS ROW END NOT NULL DEFAULT CAST('9999-12-31 12:59:59.9999999' AS datetime2),
[Name] NVARCHAR(250) NOT NULL,
[TypeId] INT NOT NULL,
[InActive] BIT NOT NULL DEFAULT 0,
[UpsertedBy] NVARCHAR(100) NOT NULL,
[DateAndTime] DATE NOT NULL DEFAULT getdate(),
CONSTRAINT [FK_Document_ToTable]
FOREIGN KEY ([TypeId]) **REFERENCES [Type]([Id])**,
PERIOD FOR SYSTEM_TIME ([SysStart], [SysEnd])
)
WITH (SYSTEM_VERSIONING = ON(HISTORY_TABLE=[Doc].[Document_HISTORY], DATA_CONSISTENCY_CHECK=ON))