DB2ではGENERATED
ALWAYS AS IDENTITYを使って自動採番ができる。
ALTER TABLEで普通に変更したらいいじゃない、と思ってやってみたら「矛盾している」とか怒られた。
DECIMALはDECIMALでも、NOT NULL default 0なDECIMALでないと、ALTER TABLEでGENERATED ALWAYS AS IDENTITYにはできないみたい。
途中で自動採番に切り替える予定なら、以下のようにテーブルを作ってやれば問題なくALTER TABLEできる。
CREATE TABLE TEST ( ID DECIMAL(11) NOT NULL default 0, PRIMARY KEY (ID))
ALTER TABLE TEST ALTER IDSET DATA TYPE DECIMAL(11) NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1)
下記のサイトを参考にしました。
既存の表に自動更新列(自動的に数値が+1される列)を追加するには