Istruzioni UPDATE PartiQL per DynamoDB - Amazon DynamoDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Istruzioni UPDATE PartiQL per DynamoDB

Utilizza l'istruzione UPDATE per modificare il valore di uno o più attributi all'interno di un elemento in una tabella Amazon DynamoDB.

Nota

È possibile aggiornare solo un elemento alla volta; non è possibile emettere una singola istruzione PartiQL DynamoDB che aggiorna più elementi. Per informazioni sull'aggiornamento di più elementi, consulta Esecuzione di transazioni con PartiQL per DynamoDB o Esecuzione di operazioni in batch con PartiQL per DynamoDB.

Sintassi

UPDATE table [SET | REMOVE] path [= data] […] WHERE condition [RETURNING returnvalues] <returnvalues> ::= [ALL OLD | MODIFIED OLD | ALL NEW | MODIFIED NEW] *

Parametri

tabella

(Obbligatorio) La tabella contenente i dati da modificare.

path

(Obbligatorio) Un nome attributo o un percorso di documento da creare o modificare.

dati

(Obbligatorio) Un valore di attributo o il risultato di un'operazione.

Le operazioni supportate da utilizzare con SET sono:

  • LIST_APPEND: aggiunge un valore a un tipo di elenco.

  • SET_ADD: aggiunge un valore a un numero o un set di stringhe.

  • SET_DELETE: rimuove un valore da un numero o un set di stringhe.

condizione

(Obbligatorio) I criteri di selezione per l'elemento da modificare. Questa condizione deve essere risolta in un singolo valore di chiave primaria.

returnvalues

(Facoltativo) Utilizza returnvalues se desideri ottenere gli attributi dell'elemento come appaiono prima o dopo l'aggiornamento. I valori validi sono:

  • ALL OLD *: restituisce tutti gli attributi dell'elemento come apparivano prima dell'operazione di aggiornamento.

  • MODIFIED OLD *: restituisce solo gli attributi aggiornati come apparivano prima dell'operazione di aggiornamento.

  • ALL NEW *: restituisce tutti gli attributi dell'elemento come appaiono dopo l'operazione di aggiornamento.

  • MODIFIED NEW *: restituisce solo gli attributi aggiornati come appaiono dopo l'operazione UpdateItem.

Valore restituito

Questa istruzione non restituisce un valore a meno che non sia stato specificato il parametro returnvalues.

Nota

Se la clausola WHERE (DOVE) dell'istruzione UPDATE (AGGIORNA) non restituisce true per alcun elemento nella tabella DynamoDB, viene restituito ConditionalCheckFailedException.

Esempi

Aggiorna un valore dell'attributo in un elemento esistente. Se l'attributo non esiste, ne verrà creato uno.

La seguente query aggiorna un elemento nella tabella "Music" aggiungendo un attributo di tipo number (AwardsWon) e un attributo di tipo map (AwardDetail).

UPDATE "Music" SET AwardsWon=1 SET AwardDetail={'Grammys':[2020, 2018]} WHERE Artist='Acme Band' AND SongTitle='PartiQL Rocks'

È possibile aggiungere RETURNING ALL OLD * per riportare gli attributi così come apparivano prima dell'operazione Update.

UPDATE "Music" SET AwardsWon=1 SET AwardDetail={'Grammys':[2020, 2018]} WHERE Artist='Acme Band' AND SongTitle='PartiQL Rocks' RETURNING ALL OLD *

Restituisce quanto segue:

{ "Items": [ { "Artist": { "S": "Acme Band" }, "SongTitle": { "S": "PartiQL Rocks" } } ] }

È possibile aggiungere RETURNING ALL NEW * per riportare gli attributi così come apparivano dopo l'operazione Update.

UPDATE "Music" SET AwardsWon=1 SET AwardDetail={'Grammys':[2020, 2018]} WHERE Artist='Acme Band' AND SongTitle='PartiQL Rocks' RETURNING ALL NEW *

Restituisce quanto segue:

{ "Items": [ { "AwardDetail": { "M": { "Grammys": { "L": [ { "N": "2020" }, { "N": "2018" } ] } } }, "AwardsWon": { "N": "1" } } ] }

La seguente query aggiorna un elemento nella tabella "Music" aggiungendolo a un elenco AwardDetail.Grammys.

UPDATE "Music" SET AwardDetail.Grammys =list_append(AwardDetail.Grammys,[2016]) WHERE Artist='Acme Band' AND SongTitle='PartiQL Rocks'

La seguente query aggiorna un elemento nella tabella "Music" rimuovendolo da un elenco AwardDetail.Grammys.

UPDATE "Music" REMOVE AwardDetail.Grammys[2] WHERE Artist='Acme Band' AND SongTitle='PartiQL Rocks'

La seguente query aggiorna un elemento nella tabella "Music" aggiungendo BillBoard alla mappa AwardDetail.

UPDATE "Music" SET AwardDetail.BillBoard=[2020] WHERE Artist='Acme Band' AND SongTitle='PartiQL Rocks'

La seguente query aggiorna un elemento nella tabella "Music" aggiungendo l'attributo del set di stringhe BandMembers.

UPDATE "Music" SET BandMembers =<<'member1', 'member2'>> WHERE Artist='Acme Band' AND SongTitle='PartiQL Rocks'

La seguente query aggiorna un elemento nella tabella "Music" aggiungendo newbandmember al set di stringhe BandMembers.

UPDATE "Music" SET BandMembers =set_add(BandMembers, <<'newbandmember'>>) WHERE Artist='Acme Band' AND SongTitle='PartiQL Rocks'