我在两个具有相同结构的不同服务器中有一个员工表。我想将所有数据转移到主服务器,但主服务器中已经存在一些与本地记录重复但不完整的记录,现在我想比较这些记录,以便我可以选择最完整的记录并删除不完整的记录从其中一台服务器。我肯定会使用dblink进行比较,但它的 SQL 查询是什么?
简而言之,一些记录在本地服务器中不完整,而其中一些记录在主服务器中不完整。有没有办法比较它们并选择最完整的?
先感谢您。
我在两个具有相同结构的不同服务器中有一个员工表。我想将所有数据转移到主服务器,但主服务器中已经存在一些与本地记录重复但不完整的记录,现在我想比较这些记录,以便我可以选择最完整的记录并删除不完整的记录从其中一台服务器。我肯定会使用dblink进行比较,但它的 SQL 查询是什么?
简而言之,一些记录在本地服务器中不完整,而其中一些记录在主服务器中不完整。有没有办法比较它们并选择最完整的?
先感谢您。
我建议您使用potgres_fdw而不是dblink。
当您映射外部表时,您可以使用简单
SELECT INSERT
的方法来解决您的问题。例如:编辑:我做了一个小样本,如何将两个表的行作为要点进行比较:https ://gist.github.com/sebastianwebber/7b4ab352733e8aab8b03f94d8aa0c7a9
希望能帮助到你。
通常,如果您的键列与相应记录的值相同,则可以使用完全外连接,并使用键列(即 ID)作为连接键。查询就像
如果同一 ID 有可能指向这些数据库中的不同客户,则您必须使用其他列,如姓名、地址、邮政编码等 - 可能会创建复合连接键。
我写了一个数据比较实用程序,有免费版本可供下载。看看它是否对你有用。 https://selectcompare.com