以下のように表示されます。
(日本語)
ORA-02437: (XXX.XXX)を検証できません - 主キー違反です。
(英語)
ORA-02437: cannot validate (XXX.XXX) - primary key violated
XXX.XXX の箇所にはスキーマ名.主キー名が入ります。
発生パターン
このエラーは以下のような場合に発生します。
- テーブルに主キーを追加設定する時、既存データがユニーク(一意)になっていない
- エラー例
- SQL> ALTER TABLE tbl ADD CONSTRAINT pk_tbl PRIMARY KEY(col1, col2, col3); * 行1でエラーが発生しました。: ORA-02437: (TARO.PKEY_TBL)を検証できません - 主キー違反です。
主キーを設定しようとした列が一意になっていないためエラーになっています
対処法
- テーブルに主キーを追加設定する時は、主キーに設定する列の値が一意になるようにしておく必要があります。(一意にするとは、全て異なる値にするという意味です。)