2

我有 Object1 和联结表和 Object2。Object2 是具有许多联结表的表,但只能有一个联结表来引用它。删除表 Object1 时,应删除联结表和 Object2。在这种情况下如何制作外键?但是当 Object2 被移除时,那么只有联结表应该被移除,而不是 Object1。我正在使用 SQL Server 2008。

4

2 回答 2

1

我建议:

  1. 删除表 1 中的行时,应删除表 2 中的联结表 (JT) 和行。答:在 JT 中参考表 1 设置 FK,并将 ON DELETE CASCADE 设置为 on。在表 2 中参考 JT 设置 FK,并将 ON DELETE CASCADE 设置为 on。

  2. 当删除表 2 中的行时,应删除 JT 中的行。答:您可能需要为此设置触发器。

于 2010-10-06T06:56:37.370 回答
1

你可以

  • CASCADING DELETES应用到表中的外键junctionObject2.
  • 添加触发器Object1检查删除并删除junction表中的相应记录和Object2
于 2010-10-06T06:57:04.623 回答