既存の表へのIDENTITY列の追加

ALTER TABLEを使用して、既存の表にIDENTITY列を追加します。

IDENTITY列のない表test_alterを作成します。

sql-> CREATE Table test_alter 
 (id INTEGER,
 name STRING, 
 PRIMARY KEY (id));
Statement completed successfully
sql->
ALTER TABLEを使用して、test_alterにIDENTITY列を追加します。また、関連付けられているnew_id IDENTITY列にいくつかのシーケンス・ジェネレータ(SG)属性を指定しますが、IDENTITY列をPRIMARY KEYとして使用しないでください。

sql-> ALTER Table Test_alter 
(ADD new_id INTEGER GENERATED ALWAYS AS IDENTITY 
 (START WITH 1 
 INCREMENT BY 2 
 MAXVALUE 100 
 CACHE 10 
 CYCLE));
Statement completed successfully
sql->

注意:

表にIDENTITY列を追加するには、表が最上位レベルにある必要があります。IDENTITY列を、深く埋め込まれた構造型データ型の列として追加することはできません。列を追加しても、新しい列のデフォルト値(またはNULL)が移入される表内の既存の行には影響しません。