SQLコマンドの使用による表の変更
ALTER TABLEコマンドを使用して、表の定義を変更できます。
CREATE TABLE demo_acct(
acct_id INTEGER,
acct_data JSON,
PRIMARY KEY(acct_id)
)
ALTER TABLE demo_acct(ADD acct_balance INTEGER)
説明: フィールドを追加しても、表内の既存の行には影響しません。フィールドを追加すると、そのデフォルト値またはNULLが、このフィールドを含まない既存の行で、このフィールドの値として使用されます。追加するフィールドは、最上位フィールド(つまり、表の列)にすることも、階層表スキーマ内で深くネストすることもできます。その結果、フィールドはパスを介して指定されます。
ALTER TABLE demo_acct(DROP acct_balance)
ALTER TABLE demo_acct(DROP acct_id)
Error handling command ALTER TABLE demo_acct(DROP acct_id):
Error: at (1, 27) Cannot remove a primary key field: acct_id
例: 表の存続時間値の変更
存続時間(TTL)のメカニズムを使用すると、表の行に時間枠を設定して、それを経過すると、行が自動的に期限切れになって使用できなくなるようにできまます。デフォルトでは、作成するすべての表のTTL値は、有効期限がないことを示すゼロとなります。
HOURS
またはDAYS
を指定できます。ALTER TABLE demo_acct USING TTL 5 days
ノート:
表のTTL値を変更しても、表の既存の行のTTL値は変更されません。かわりに、表の変更後に作成された行に配置されるデフォルトのTTL値のみが変更されます。表内のすべてのレコードのTTLを変更するには、表の各レコードを反復処理してそのTTL値を更新する必要があります。例: リージョンの追加
add regions句を使用すると、マルチリージョンのOracle NoSQL Database環境で既存の複数リージョン表(MR表)を新しいリージョンとリンクできます。この句を使用して、MR表を新しいリージョンに展開します。
ALTER TABLE <table_name> ADD REGIONS <region_name>
説明: ここで、table_nameはMR表で、region_nameは既存のリージョンです。
例: リージョンの削除
リージョンの削除句を使用すると、マルチリージョンのOracle NoSQL Database環境で参加リージョンから既存のMR表を切断できます。この句を使用すると、MR表を縮小してリージョンを減らすことができます。
ALTER TABLE <table_name> DROP REGIONS <comma_separated_list_of_regions>
ここで、table_nameはMR表、comma_separated_list_of_regionsは削除されるリージョンのリストです。