1. ホーム
  2. sql

[解決済み] ALTER TABLE文に'ON DELETE CASCADE'を追加する方法

2022-04-22 10:29:42

質問

私のテーブルに外部キー制約がありますが、それにON DELETE CASCADEを追加したいのです。

私はこれを試しました。

alter テーブル child_table_name
  制約fk_nameを修正する
  外部キー(child_column_name)
  削除カスケード時に parent_table_name (parent_column_name) を参照します。

動作しない。

EDIT

外部キーがすでに存在し、外部キーカラムにデータがあります。

ステートメントを実行した後に表示されるエラーメッセージ。

ORA-02275: そのような参照制約はすでにテーブルに存在します。

解決方法は?

を追加することはできません。 ON DELETE CASCADE を既に存在する制約に追加します。あなたは drop を追加し、再度 create という制約があります。その ドキュメント を見ると MODIFY CONSTRAINT 句が変更できるのは 制約の状態 (i-e: ENABLED/DISABLED ...).