2010-10-06 55 views
1

我有Object1和结点表和Object2。 Object2是具有许多联结表的表,但只能有一个联结表来对其进行重新规避。当表格Object1被删除时,结点表格和Object2应该被删除。在这种情况下我怎样才能创建外键?但是当Object2被删除时,只能删除联结表,而不是Object1。我使用的是SQL Server 2008的如何创建结点表的外键

回答

1

你可以

  • 适用CASCADING DELETES你的外键从junctionObject2
  • 添加一个TriggerObject1,检查删除并删除junction表和Object2中的相应记录。
1

我建议:

  1. 当行表1中,然后去除结台(JT)和表2行应该被删除。答案:在JT的引用中设置FK,并将ON DELETE CASCADE设置为on。在表2中设置FK,并将ON DELETE CASCADE设置为打开时引用JT。

  2. 当表2中的行被移除时,JT中的行应被移除。答:您可能必须为此设置触发器。