用关系替换表中的所有数据

时间:2013-06-28 20:31:40

标签: sql-server

我被困在如何替换已经有关系的表中的所有数据。

  • 我有桌子,公司和联系方式。这两个表的PrimaryKeys与其他表相关。
  • 之前,我对联系人做了任何事情,我制作了联系表的副本(从联系人中选择* INTO ContactBK)
  • 我在Contact中修改了一些数据后,现在我想将ContactBK(原始)中的所有数据替换回Contact,但我不能。
  • 我尝试在Server Management Studio中使用Import并选择“替换存在的数据”,但它失败了。我也无法删除Contact表中的所有数据并替换,因为ContactID与其他表绑定。

1 个答案:

答案 0 :(得分:1)

您可以使用连接方法从ContactBAK表进行更新。如果记录基本相同,修改了一些字段,这应该可行。例如:

UPDATE c SET c.FirstName = bak.FirstName FROM Contacts c
LEFT JOIN ContactsBAK bak ON c.ContactID = bak.ContactID

当然,您必须修改要更新的字段并匹配连接。