首页 > 解决方案 > 比较 2 个表(基于辅助表插入、更新或删除)

问题描述

想象一下,我有两个具有相似结构的数据库表。所以其中一个是源,另一个是目标。我想使用唯一的 ID 来比较它们,就像Redgate Data Compare这样,这里是场景:

  1. 对于每条新记录,INSERT都会执行一个命令。

  2. 如果源表中不再存在记录,则DELETE命令会忽略目标表中的该记录。

  3. 如果源中的行已更改,UPDATE则执行命令。

我尝试了一个存储过程来遍历源中的每条记录并将其与目标进行比较,但它似乎并不理想。

我想知道在 SQL 中进行这种比较的关键词是什么,我想知道这种情况是否有任何预先编写的查询?

标签: sqlsql-serverstored-procedures

解决方案


您可以使用 MERGE 命令

例如检查此链接


推荐阅读