参照整合性に一致しない行は、"WITH NOCHECK" オプションが制約で使用されたとき、または一括挿入を使用したとき、または (参照) 制約が作成される前に読み込まれている必要があります。「WITH NOCHECK」オプションを再適用しようとすることは別として(うまくいくかもしれません)、おそらく、他のテーブルに一致する行がある行を次のように削除する必要があります。
存在する member_companys D から D を削除します (D.Comany_ID = C.ID である会社 C から NULL を選択します)
これは、複数の関連テーブルに拡張できます。EXISTS / NOT EXISTS はそれぞれ準結合または反準結合に変換され (つまり、相関サブクエリではない)、カーソルよりも優れているため、低速であってはなりません。
AdventureWorks サンプル データベースでの使用例:
-- このサンプルでは、制約を満たさない行を削除し、逆に NOT を削除します。begin tran delete D from Person.StateProvince D where NOT EXISTS(Person.Address C WHERE D.StateProvinceID = C.StateProvinceID から NULL を選択) AND NOT EXISTS(Sales.SalesTaxRate C WHERE D.StateProvinceID = C.StateProvinceID から NULL を選択) ロールバック