2つのテーブルがあるとします。 Errors
およびErrorsDetails
。したがって、多くのErrorDetailsレコードを含む可能性のある1つのErrorsレコードがあります。
ユーザーは、使用するアプリケーションを介して詳細レコードを定期的に削除します。すべての詳細レコードがクリーンアップ(削除)されたら、マスターレコードも自動的に削除したいと思います。
すばらしいのは、マスターが所有する詳細がなくなった場合に詳細とマスターを削除する1つのSQL削除ステートメントです。しかし、それを行うクリーンなSQLステートメントを取得できないようです。削除するたびにマスターをポーリングして詳細を確認したくありません。
エラー
ID Error
1 Import Error
2 Export Error
エラー詳細
ID ErrorsID DetailedInfo
1 1 Couldn't import file because of FTP error
2 1 Couldn't import file because of permission error
3 2 Couldn't export file because of directory doesn't exist
そのように削除制約を追加しようとしましたcascade
が、機能しなかったようです。
alter table dbo.ErrorsDetails
add constraint FK_Delete_Master
foreign key (ErrorsID) references dbo.Errors(ErrorsID) on delete cascade
提案をありがとう。
アップデート
トリガーを使用することが言及されています。私はそれについて考えましたが、それについては言及しませんでした。トリガーは確かに仕事をします。このシナリオのトリガーの長所/短所?