2010-10-06 68 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中的行應被移除。答:您可能必須爲此設置觸發器。