外部キーで参照されているにもかかわらず、テーブルを削除することが本当に確実な場合は、次のように強制できます。
drop table state cascade constraints;
この構文は、OracleSQLリファレンスで定義されています。 a> 。
これにより、外部キーの関係がすべて削除されることに注意してください。したがって、テーブル(およびその主キー)を再構築した後、それらを再作成する必要があります。最も一般的なユースケースは、開発環境またはCI環境でのスキーマのトラッシングと再作成であるため、通常はこれで問題ありません。
cascade constraints
を使用できます ビルドスクリプトの保守を容易にするため。 2つの選択肢があります:
- スクリプトまたは動的SQLを使用して、テーブルを削除する前に外部キー制約を明示的に削除します。
- DROPTABLEステートメントを並べ替えて、従属テーブルが厄介な外部キーとともに最初にザッピングされるようにします。少数のテーブルには十分簡単ですが、大きなスキーマではさらに苦痛になります。