有没有人知道是否有更快的方法来编辑在表中具有外键的记录(在sql server中)..我将解释..我有大约5个表有自己的ID但是使用链接在一起外键......
因此我需要更改外键(在我的情况下是合约号码),但我必须将每条记录复制到新记录并以这种方式编辑...
好像我试图编辑合同号码,它给了我关联和违反外键等的标准错误
Surly必须有更好的方法吗?
任何想法?
答案 0 :(得分:3)
我不是SQL专家,但是你不能设置像ON UPDATE CASCADE这样的东西,以便在更改主键时自动更新外键吗?
答案 1 :(得分:3)
你在谈论改变PK然后更新所有Fks吗?在这种情况下,启用级联更新,这将自动完成 与删除相同,您启用级联删除
ON DELETE CASCADE
指定如果尝试使用其他表中现有行中的外键引用的键删除行,则还会删除包含这些外键的所有行。如果还在目标表上定义了级联引用操作,则还会对从这些表中删除的行执行指定的级联操作。
ON UPDATE CASCADE
指定如果尝试更新行中的键值,其中键值由其他表中现有行中的外键引用,则所有外键值也将更新为指定的新值钥匙。如果级联引用动作
答案 2 :(得分:0)
或尝试禁用完整性约束,进行更改并尝试重新启用约束。基本上,如果你做得不对,那么你会得到一个错误(不能启用一个会被违反的约束)。