列S_ROLL NUMBER(3) NOT NULL
を持つテーブルを作成しました。次に、この列をID列として作成します。このコマンドを使用しました
alter table students
modify
(
S_ROLL NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY
);
次に、このエラーが発生します。
S_ROLL NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY
*
ERROR at line 4:
ORA-30673: column to be modified is not an identity column
IDENTITY列として既存の列を変更することが現在サポートされていないという理由だけで、このエラーが発生します。
解決策は、新しい列を追加してから既存の列を削除することです(データも処理するようにしてください)。
既存の列を変更して列を識別することはサポートされていないため。したがって、以下のクエリを使用して新しい列を追加できます。
ALTER TABLE students ADD (S_ROLL_NEW NUMBER(3) GENERATED ALWAYS AS IDENTITY);