主要观点:在 SQL Server 中,分类账表提供强大的防篡改功能,有插入-only 和可更新两种类型。插入-only 表严格不可变,适合交易日志等;可更新表允许修改和删除并维护变更历史。
关键信息:
- 插入-only 表创建步骤及示例代码,插入数据后尝试更新和删除会报错。
- 可更新表创建步骤及示例代码,更新数据后可通过历史表查看变更,还可通过 ledger 视图验证更新。
- 对比了插入-only 和可更新表在更新方面的关键差异,包括更新支持、数据完整性、变更跟踪和使用场景等。
重要细节: - 插入-only 表创建时需指定
WITH (LEDGER = ON)
,更新和删除操作会被禁止。 - 可更新表创建时需指定
WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [Banking].[AccountBalanceHistory]), LEDGER = ON)
,更新会记录在历史表中。 - 通过查询历史表和 ledger 视图可查看可更新表的变更历史。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。