我有 Object1 和联结表和 Object2。Object2 是具有许多联结表的表,但只能有一个联结表来引用它。删除表 Object1 时,应删除联结表和 Object2。在这种情况下如何制作外键?但是当 Object2 被移除时,那么只有联结表应该被移除,而不是 Object1。我正在使用 SQL Server 2008。
问问题
698 次
2 回答
1
我建议:
删除表 1 中的行时,应删除表 2 中的联结表 (JT) 和行。答:在 JT 中参考表 1 设置 FK,并将 ON DELETE CASCADE 设置为 on。在表 2 中参考 JT 设置 FK,并将 ON DELETE CASCADE 设置为 on。
当删除表 2 中的行时,应删除 JT 中的行。答:您可能需要为此设置触发器。
于 2010-10-06T06:56:37.370 回答
1
你可以
- 将CASCADING DELETES应用到表中的外键
junction
到Object2
. - 添加触发器,
Object1
检查删除并删除junction
表中的相应记录和Object2
。
于 2010-10-06T06:57:04.623 回答