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)*) |
   (SET TTL ttl_clause ("," update_clause)*)

セマンティクス

UPDATE句には、次の5種類があります。
SET

1つ以上の既存フィールドの値を更新します。SET句を参照してください。

ADD

1つ以上の配列に新しい要素を追加します。ADD句を参照してください。

PUT

1つ以上のマップに新しいフィールドを追加します。既存のマップ・フィールドの値を更新することもできます。PUT句を参照してください。

REMOVE

1つ以上の配列/マップから要素/フィールドを削除します。REMOVE句を参照してください。

SET TTL

行の有効期限を更新します。SET TTL句を参照してください。

UPDATE句は、UPDATE文に指定した順序ですぐに適用されるため、各句の効果は、後続の句で参照できます。構文上は複数のSET TTL句を使用できますが、最後の句のみが有効で、前の句(存在する場合)は無視されます。

SETADDPUTおよびREMOVE句は、更新または削除する項目を計算するターゲット式で始まります。いずれの場合も、ターゲット式は、表の別名から始まるパス式の最上位の列参照である必要があります。ターゲット式から何も返されない場合、UPDATE句は何も処理を行いません。