表定義の変更

ALTER TABLE文を使用して、表定義に新規フィールドを追加するか、または現在存在しているフィールド定義を削除します。ALTER TABLE文を使用して、表のデフォルトの存続時間(TTL)値を変更したり、IDENTITY列を表に追加することもできます。

ALTER TABLEのADDフィールド

既存の表にフィールドを追加するには、ADD文を使用します。

ALTER TABLE table-name (ADD field-definition)

前述のfield-definitionsに記述される内容の説明は、「フィールド定義」を参照してください。次に例を示します。

ALTER TABLE Users (ADD age INTEGER)

ネストされたレコードにフィールドを追加することもできます。たとえば、次の表定義がある場合、

CREATE TABLE u (id INTEGER,
                info record(firstName String)),
                PRIMARY KEY(id)) 

次のように、ドット表記法を使用してネストされた表を識別し、ネストされたレコードにフィールドを追加できます。

ALTER TABLE u(ADD info.lastName STRING)

ALTER TABLEのDROPオプション

既存の表からフィールドを削除するには、DROPオプションを使用します。

ALTER TABLE table-name (DROP field-name)

たとえば、Users表からageフィールドを削除するには次のようになります。

ALTER TABLE Users (DROP age)

ノート:

フィールドが主キーの場合、または索引に参加している場合は、削除できません。

ALTER TABLE MODIFY FIELD句を使用して、表内のIDENTITY列を追加、削除または変更することもできます。

ALTER TABLEのUSING TTL

既存の表のデフォルトの存続時間(TTL)値を変更するには、USING TTL文を使用します。

ALTER TABLE table-name USING TTL ttl

次に例を示します。

ALTER TABLE Users USING TTL 4 days

MR表の場合、USING TTL句はIN REGIONS句とともに使用できません。つまり、MR表のTTL値およびリージョンを単一の文で変更できません。

USING TTL文の詳細は、USING TTLを参照してください。

ALTER TABLE ADD REGIONS

add regions句を使用すると、マルチリージョンのOracle NoSQL Database環境で既存の複数リージョン表(MR表)を新しいリージョンとリンクできます。

add regions句は、MR表を新しいリージョンに拡張するときに使用されます。管理者ガイドユースケース2: マルチリージョン表の拡張を参照してください。

既存のMR表にリージョンを追加するには、ADD REGIONSオプションを使用します。
ALTER TABLE <table name> ADD REGIONS <comma separated list of regions>
サンプル・コードは、既存のリージョンへの新しいリージョンの追加を参照してください。

ALTER TABLE DROP REGIONS

drop regions句を使用すると、マルチリージョンのOracle NoSQL Database環境で参加リージョンから既存の複数リージョン表(MR表)を切断できます。

drop regions句は、MR表をより少ないリージョンに縮小するときに使用されます。管理者ガイドユースケース3: 複数リージョン表の縮小を参照してください。

既存のMR表からリージョンを削除するには、DROP REGIONSオプションを使用します。
ALTER TABLE <table name> DROP REGIONS <comma separated list of regions>

サンプル・コードは、リージョンを削除するためのMR表の変更を参照してください。