UPDATE句
構文
update_clause ::=
(SET set_clause ("," (update_clause | set_clause))*) |
(ADD add_clause ("," (update_clause | add_clause))*) |
(PUT put_clause ("," (update_clause | put_clause))*) |
(REMOVE remove_clause ("," remove_clause)*) |
(JSON MERGE JSON MERGE Clause ("," (update_clause | json_merge_patch_clause))*) |
(SET TTL ttl_clause ("," update_clause)*)セマンティクス
UPDATE句には、次の6種類があります:
-
SET -
1つ以上の既存フィールドの値を更新します。SET句を参照してください。
-
ADD -
1つ以上の配列に新しい要素を追加します。ADD句を参照してください。
-
PUT -
1つ以上のマップに新しいフィールドを追加します。既存のマップ・フィールドの値を更新することもできます。PUT句を参照してください。
-
REMOVE -
1つ以上の配列/マップから要素/フィールドを削除します。REMOVE句を参照してください。
-
JSON MERGE -
パッチで指定された変更内容でJSONドキュメントを更新します。「JSON MERGE句」を参照してください
-
SET TTL -
行の有効期限を更新します。SET TTL句を参照してください。
UPDATE句は、UPDATE文に指定した順序ですぐに適用されるため、各句の効果は、後続の句で参照できます。構文上は複数のSET TTL句を使用できますが、最後の句のみが有効で、前の句(存在する場合)は無視されます。
SET、ADD、PUTおよびREMOVE句は、更新または削除する項目を計算するターゲット式で始まります。いずれの場合も、ターゲット式は、最上位の列参照、または表の別名から始まるパス式である必要があります。ターゲット式から何も返されない場合、UPDATE句は何も処理を行いません。