カスケード削除を使用して参照がなくなったときに、一部のデータが自動削除されるようにしようとしています。スタック オーバーフローに基づく偽のデータベースで説明します。
私はPost
テーブルを持っています。各投稿には、ゼロから多数のタグがあります。
したがって、次のようになります。
投稿 <-> PostTags <-> タグ
例えば。
投稿 1 にはタグ「A」、「B」、「C」があり、投稿 2 にはタグ「C」、「D」があります。
今、私がやっていることは、投稿 2 のすべてのタグを削除するとき (例: DELETE FROM PostTags WHERE PostId = 2
)、タグ 'D' も削除したいということです。Tag->PostTags
カスケード削除でこれを処理できると思いましたが、もちろん、またはからカスケードダウンした場合のみですPost->PostTags
。
これを処理する方法がわかりません。
人々がトリガーの使用を提案するのではないかと心配しています:((システムがさらに複雑になります)。
考え?
注: DB は MS Sql2008 です。