1
說我有兩張桌子。 Errors
和ErrorsDetails
。所以我有一個錯誤記錄可能包含許多ErrorDetails記錄。如何在SQL Server 2008中刪除所有詳細記錄時自動刪除主記錄?
用戶將通過他們使用的應用程序定期刪除詳細記錄。當清除所有詳細記錄(刪除)時,我想自動刪除主記錄。
什麼是酷將是一個SQL刪除語句,將刪除細節和主人,如果主人沒有更多的細節。但我似乎無法得到一個乾淨的SQL語句。每次刪除後,我寧願不詳細詢問主人的細節。
錯誤
ID Error
1 Import Error
2 Export Error
ErrorsDetails
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
感謝您的任何建議。
UPDATE
它已經提到使用觸發器。我想過但沒有提及它。觸發器肯定會完成這項工作。這種情況下觸發器的優點/缺點?
我想過觸發器。我應該在我原來的問題中提到這一點。優點/缺點觸發器? – cbmeeks