1

有谁知道是否有更快的方法来编辑表中具有外键的记录(在 sql server 中).. 我会解释.. 我有大约 5 个表,它们有自己的 ID,但使用外键链接在一起...

因此我需要更改外键(在我的情况下是合同号),但我必须将每条记录复制到新记录并以这种方式进行编辑......

好像我尝试编辑合同号一样,它给了我关联的标准错误并违反了外键等

肯定有更好的方法吗?

有任何想法吗?

4

3 回答 3

4

您是在谈论更改PK然后更新所有Fks吗?在这种情况下,启用级联更新,这将自动与删除相同,您启用级联删除

删除级联

指定如果尝试删除具有由其他表中现有行中的外键引用的键的行,则包含这些外键的所有行也将被删除。如果还对目标表定义了级联引用操作,则还会对从这些表中删除的行执行指定的级联操作。

更新级联

指定如果尝试更新行中的键值,其中键值由其他表中现有行中的外键引用,则所有外键值也将更新为为键指定的新值。如果级联引用操作

于 2009-04-28T17:52:26.393 回答
3

我不是 SQL 专家,但你不能设置类似 ON UPDATE CASCADE 的东西来在主键更改时自动更新外键吗?

于 2009-04-28T17:50:55.120 回答
0

或者尝试禁用完整性约束,进行更改并尝试重新启用约束。基本上,如果你没有做对,那么你会得到一个错误(不能启用会被违反的约束)。

于 2009-04-28T17:53:12.960 回答