Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 更改多个外键以指向新表_Sql Server 2005_Tsql_Foreign Keys - Fatal编程技术网

Sql server 2005 更改多个外键以指向新表

Sql server 2005 更改多个外键以指向新表,sql-server-2005,tsql,foreign-keys,Sql Server 2005,Tsql,Foreign Keys,在MS SQL Server 2005上,我有一个要替换的表。许多其他表都有对此表的外键引用。是否有一个脚本,我可以运行它来简单地将所有这些引用从旧表滚动到新表 还是我必须仔细检查并明确删除每个外键,然后为每个外键编写一个新的键?删除它们并为新表重新创建它们更安全。或者,您是否可以为新表重新使用替换的旧表中相同的主键?那么您根本不必更新FKs 如果主键是自动递增的“Identity”列,则可以使用“Set Identity_Insert On”将新记录插入到新表的Identity列中,并使用显式

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


还是我必须仔细检查并明确删除每个外键,然后为每个外键编写一个新的键?

删除它们并为新表重新创建它们更安全。

或者,您是否可以为新表重新使用替换的旧表中相同的主键?那么您根本不必更新FKs


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

这听起来很有希望。我要去玩这个,结果就是这样。我感觉到你的痛苦。几天前,对于一个想使用vb5->c的开发人员,我有一个类似的答案;有时候,你只需要去做,然后把它抛在身后。