sql - SQL Server 中的魔术表和临时(系统版本)表之间的区别?
问题描述
SQL Server 中的魔术表和临时(系统版本)表有什么区别?
解决方案
魔术桌
- 虚拟和没有物理存在。SQL Server 内部维护着魔术表。
- 有两个表名 INSERTED 和 DELETED。
- INSERTED 包含有关表中新插入或更新记录的信息。
- DELETED 包含有关该表记录的最后状态的信息。
- 现在,如果您在两个表上执行两次更新操作,则 INSERTED 和 DELETED megic 表会自动更新,并且至少在触发器中可用。
- 除了 Trigger,您还可以使用 with output 子句。
临时表
- 这是 SQL Server 2016 的新功能。
- 它也称为特定表的服务器版本化历史表,因此此临时表是物理存在的。
- 您可以对其进行查询,其目的也是保留特定记录的历史记录。
推荐阅读
- docker - 在 Ubuntu Docker 容器内创建 VPN 适配器失败,LCOW 除外?
- typescript - 对象中键的索引签名
- racket - 将两个递归合并为一个尾递归代码
- ruby-on-rails - 有人可以解释一下 Hash#dig 与 Hash#fetch 有什么区别吗
- node.js - webpack 不再缩小捆绑包
- php - 如果 4 个 mysql 查询中的任何一个失败,如何设置 mysqli 错误
- java - 线程“主”java.lang.NoSuchFieldError 中的异常:JAVA_VENDOR
- google-apps-script - 获取列谷歌表格的最后一个非空白行
- visual-studio-code - 在 Visual Studio 代码的实时服务器扩展中设置 liveServer.settings.port 的值的位置
- ios - 使用 xcode10 时在 iOS9 上崩溃