これを機能させるには、これをインサイトのINSTEADOF削除トリガーとして実装する必要があります。次のようなもの:
create trigger T_Insights_D
on Insights
instead of delete
as
set nocount on
delete from broader_insights_insights
where insight_id in (select ID from deleted) or
broader_insight_id in (select ID from deleted)
delete from Insights where ID in (select ID from deleted)
多くの場合、カスケード削除と多くの外部キーでは、「ツリー」の最上位で発生する削除が参照テーブルに正常にカスケードされるように、「カスケード」順序を計算するために時間を費やす必要があります。しかし、この場合、それは不可能です。