2

Object1とjunctionテーブルとObject2があります。Object2は、多くのジャンクションテーブルを持つテーブルですが、それを参照するジャンクションテーブルは1つだけです。テーブルObject1を削除する場合は、ジャンクションテーブルとObject2を削除する必要があります。この状況で外部キーを作成するにはどうすればよいですか?ただし、Object2を削除する場合は、Object1ではなく、ジャンクションテーブルのみを削除する必要があります。SQLServer2008を使用しています。

4

2 に答える 2

1

私は提案します:

  1. 表1の行を削除する場合は、ジャンクションテーブル(JT)と表2の行を削除する必要があります。回答:ON DELETE CASCADEをonに設定して、表1を参照するJTでFKを設定します。ON DELETE CASCADEがonに設定されているJTを参照して、表2のFKを設定します。

  2. 表2の行を削除する場合は、JTの行を削除する必要があります。回答:このためのトリガーを設定する必要があるかもしれません。

于 2010-10-06T06:56:37.370 に答える
1

あなたは出来る

  • テーブルからの外部キーにCASCADINGDELETESを適用します。junctionObject2
  • にトリガーを追加し、削除を確認して、テーブルObject1内の対応するレコードを削除します。junctionObject2
于 2010-10-06T06:57:04.623 に答える