我最近一直在研究临时表,并将它们成功应用于我的一张表。我需要将它应用到数据库中的其他表,所以我运行了一个类似于下面示例的脚本。但是,在我的第二张桌子上运行它时,我得到了
消息 2714,级别 16,状态 5,第 1 行 数据库中已经有一个名为“DF_ValidFrom”的对象。
下面的文章似乎暗示您可以在 Product 和 Location 和表中使用相同的约束。有人有将现有表更改为临时表的经验吗?
ALTER TABLE Product
ADD
SysStartTime datetime2 (2) GENERATED ALWAYS AS ROW START HIDDEN
constraint DF_ValidFrom DEFAULT DATEADD(second, -1, SYSUTCDATETIME())
, SysEndTime datetime2 (2) GENERATED ALWAYS AS ROW END HIDDEN
constraint DF_ValidTo DEFAULT '9999.12.31 23:59:59.99'
, PERIOD FOR SYSTEM_TIME (SysStartTime, SysEndTime);
ALTER TABLE Product
SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = dbo.ProductHistory));
ALTER TABLE [Location]
ADD
SysStartTime datetime2 (2) GENERATED ALWAYS AS ROW START HIDDEN
constraint DF_ValidFrom DEFAULT DATEADD(second, -1, SYSUTCDATETIME())
, SysEndTime datetime2 (2) GENERATED ALWAYS AS ROW END HIDDEN
constraint DF_ValidTo DEFAULT '9999.12.31 23:59:59.99'
, PERIOD FOR SYSTEM_TIME (SysStartTime, SysEndTime);
ALTER TABLE [Location]
SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = dbo.LocationHistory));
全文在这里 https://docs.microsoft.com/en-us/sql/relational-databases/tables/temporal-table-usage-scenarios
提前感谢您的帮助。