更改多个外键以指向新表

时间:2009-01-15 18:31:23

标签: sql-server-2005 tsql foreign-keys

在MS SQL Server 2005上,我有一个我想要替换的表。许多其他表都有对此表的外键引用。是否有一个脚本可以运行以简单地将所有这些引用从旧表转移到新表?

或者我是否必须经历并专门删除这些外键,并为每个外键写一个新密钥?

2 个答案:

答案 0 :(得分:1)

您可以更安全地删除并为新表重新创建它们。

答案 1 :(得分:1)

或者,您是否可以为要替换的旧表中的新表重用相同的主键?那么你根本不需要更新FK。

如果主键是自动递增“Identity”列,则可以使用“Set Identity_Insert On”,允许您使用显式值(旧表中的pk)将新记录插入到新表的标识列中。完成后运行Set Identity_Insert Off并关闭并运行。

相关问题