テーブルの変更が許可されていない場合は、EXISTS を参照してください。 EXISTS 内のクエリが存在する場合にのみ、テーブルから行を削除できます。 少なくとも 1 つの結果を返します。依存関係のチェックに使用できます。
3 つのクエリを記述できます:
DELETE C c
WHERE EXISTS (SELECT 1
FROM B b
WHERE c.b = b.b
AND EXISTS (SELECT 1
FROM A a
WHERE a.a = b.a
AND ... ));
DELETE B b
WHERE EXISTS (SELECT 1
FROM A a
WHERE a.a = b.a
AND ...);
DELETE A a
WHERE ...
最初のものは C でレコードを処理します B のレコードを参照する A のレコードを参照する
その後、B からレコードを削除できます。 C には依存関係がなくなったので .
最後に、A からレコードを削除できます。 同じロジックを使用します。