有谁知道是否有更快的方式来编辑表中有外键的记录(在sql server中)..我会解释..我有大约5个表有自己的ID,但使用外键...更改具有外键的表(sql server)中的记录?
因此我需要改变的外键(在我的情况下,合同号),但我不得不给每个记录复制到一个新的记录和编辑它这样...
由于如果我尝试编辑合同编号,它会给我提供相关联的标准错误,并且违反了外键等。
Surly必须有更好的方法吗?
任何想法?
有谁知道是否有更快的方式来编辑表中有外键的记录(在sql server中)..我会解释..我有大约5个表有自己的ID,但使用外键...更改具有外键的表(sql server)中的记录?
因此我需要改变的外键(在我的情况下,合同号),但我不得不给每个记录复制到一个新的记录和编辑它这样...
由于如果我尝试编辑合同编号,它会给我提供相关联的标准错误,并且违反了外键等。
Surly必须有更好的方法吗?
任何想法?
你是在谈论改变PK然后更新所有的FKS?在这种情况下,启用级联更新,这将做自动的 与删除一样,启用级联删除
ON DELETE CASCADE
指定如果试图删除行与外键引用的关键在其他表中的现有行中,包含这些外键的所有行也被删除。如果还在目标表上定义了级联参考操作,则还会为从这些表中删除的行采用指定的级联操作。
ON UPDATE CASCADE
指定如果试图在一排,其中键值由外键在其他表的现有行引用更新键值,所有的外键值都也更新为为该密钥指定的新值。如果级联参考操作
我不是SQL专家,但不能像ON UPDATE CASCADE那样设置类似于主键更改时自动更新外键的东西吗?
或者尝试禁用完整性约束,请执行更改并尝试重新启用约束。基本上,如果你没有这样做,你会得到一个错误,然后(不能启用一个违反约束)。
感谢您的帮助,我打算使用udpate级联,但我想我可能需要重新组织我的外键 – 2009-04-30 10:50:22