以下のように表示されます。
(日本語)
ORA-02260: 表には主キーを1つのみ持つことができます
(英語)
ORA-02260: table can have only one primary key
発生パターン
このエラーは以下のような場合に発生します。
- 主キーが設定されているテーブルに、新たに主キーを設定しようとした
- エラー例
- SQL> ALTER TABLE tbl01 ADD CONSTRAINT pk_tbl01 PRIMARY KEY(col1, col2); ALTER TABLE tbl01 ADD CONSTRAINT pk_tbl01 PRIMARY KEY(col1, col2) * 行1でエラーが発生しました。: ORA-02260: 表には主キーを1つのみ持つことができます
tbl01テーブルには既に主キーが設定されている前提です。
対処法
ORACLEでは主キーを変更するコマンドはありません。
なので主キーを変更したい場合は、一旦既存の主キーを削除してから新たな主キーを設定します。
- SQL*Plus
- --tbl01テーブルの主キーを削除する ALTER TABLE tbl01 DROP PRIMARY KEY; --tbl01テーブルに主キーを設定する ALTER TABLE tbl01 ADD CONSTRAINT pk_tbl01 PRIMARY KEY(col1, col2);
備考
- テーブルに主キーは1つしか設定できません。