⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

应用时段表(Temporal Table)实现数据版本控制与回溯查询

利用SQL标准中的SYSTEM_TIME和APPLICATION_TIME功能(如MariaDB或SQL Server 2016+),自动维护数据的历史版本并支持AS OF查询。 · 难度:入门 · +10XP

应用时段表(Temporal Table)实现数据版本控制与回溯查询

分析需要查看某个时间点的数据快照?本教程教你创建系统版本化表(system-versioned temporal table),自动记录每一行的有效时间段。讲解FOR SYSTEM_TIME AS OF、BETWEEN和CONTAINED IN子句的用法,以及如何手动插入历史记录和设置保留期。还会对比慢速变更维度(SCD)的实现。

-- SQL Server 创建系统版本化表
CREATE TABLE dbo.Employee (
    EmpID INT PRIMARY KEY,
    Name NVARCHAR(100),
    Position NVARCHAR(100),
    StartTime DATETIME2 GENERATED ALWAYS AS ROW START NOT NULL,
    EndTime DATETIME2 GENERATED ALWAYS AS ROW END NOT NULL,
    PERIOD FOR SYSTEM_TIME (StartTime, EndTime)
) WITH (SYSTEM_VERSIONING = ON);

-- 查询2024-03-01时的数据 SELECT * FROM Employee FOR SYSTEM_TIME AS OF '2024-03-01T00:00:00';

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 146 篇
0 完成
🔥 0