IDENTITY列の追加または削除
既存の表を変更し、IDENTITY列を追加できます。既存のIDENTITY列を表から削除することもできます。
既存の表への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)が移入される表内の既存の行には影響しません。IDENTITY列の削除
IDENTITY列を削除して、そのようなフィールドが残らないようにするには、
DROP id
句を指定したALTER TABLE
を使用します。CREATE Table Test_alter (
id INTEGER GENERATED ALWAYS AS IDENTITY(
START WITH 1
INCREMENT BY 2
MAXVALUE 100
CACHE 10
CYCLE),
name STRING,
PRIMARY KEY (name));
ALTER TABLE Test_alter (DROP id);