FROMcomando (INSERTREMOVE, oSET) in Amazon QLDB - Database Amazon Quantum Ledger (Amazon) QLDB

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à.

FROMcomando (INSERTREMOVE, oSET) in Amazon QLDB

Importante

Avviso di fine del supporto: i clienti esistenti potranno utilizzare Amazon QLDB fino alla fine del supporto il 31/07/2025. Per ulteriori dettagli, consulta Migrare un Amazon QLDB Ledger ad Amazon Aurora Postgre. SQL

In AmazonQLDB, un'istruzione che inizia con FROM è un'estensione PartiQL che consente di inserire e rimuovere elementi specifici all'interno di un documento. Puoi anche utilizzare questa istruzione per aggiornare gli elementi esistenti in un documento, in modo simile al UPDATE comando.

Nota

Per informazioni su come controllare l'accesso per eseguire questo comando PartiQL su tabelle specifiche, vedere. Guida introduttiva alla modalità di autorizzazione standard in Amazon QLDB

Sintassi

FROM-INSERT

Inserire un nuovo elemento all'interno di un documento esistente. Per inserire un nuovo documento di primo livello in una tabella, è necessario utilizzareINSERT.

FROM table_name [ AS table_alias ] [ BY id_alias ] [ WHERE condition ] INSERT INTO element VALUE data [ AT key_name ]

FROM-REMOVE

Rimuovi un elemento esistente all'interno di un documento o rimuovi un intero documento di primo livello. Quest'ultima è semanticamente la stessa della sintassi tradizionale. DELETE

FROM table_name [ AS table_alias ] [ BY id_alias ] [ WHERE condition ] REMOVE element

FROM-SET

Aggiorna uno o più elementi all'interno di un documento. Se un elemento non esiste, viene inserito. È semanticamente la stessa della sintassi tradizionaleUPDATE.

FROM table_name [ AS table_alias ] [ BY id_alias ] [ WHERE condition ] SET element = data [, element = data, ... ]

Parametri

table_name

Il nome della tabella utente contenente i dati da modificare. DMLle istruzioni sono supportate solo nella visualizzazione utente predefinita. Ogni istruzione può essere eseguita solo su una singola tabella.

In questa clausola, è inoltre possibile includere una o più raccolte annidate all'interno della tabella specificata. Per ulteriori dettagli, consulta Raccolte annidate.

AS table_alias

(Facoltativo) Un alias definito dall'utente che si estende su una tabella da modificare. Tutti gli alias di tabella utilizzati nella clausolaSET, REMOVEINSERT INTO, o devono essere dichiarati nella WHERE clausola. FROM La AS parola chiave è facoltativa.

BY id_alias

(Facoltativo) Un alias definito dall'utente che si collega al campo dei id metadati di ogni documento nel set di risultati. L'alias deve essere dichiarato nella clausola utilizzando la FROM parola chiave. BY Ciò è utile quando si desidera filtrare in base all'ID del documento durante l'interrogazione della visualizzazione utente predefinita. Per ulteriori informazioni, consulta Utilizzo della clausola BY per interrogare l'ID del documento.

WHERE condition

I criteri di selezione per i documenti da modificare.

Nota

Se si WHERE omette la clausola, tutti i documenti della tabella vengono modificati.

element

Un elemento del documento da creare o modificare.

data

Un nuovo valore per l'elemento.

AT key_name

Un nome chiave da aggiungere all'interno dei documenti da modificare. È necessario specificare il corrispondente VALUE insieme al nome della chiave. Questo è necessario per inserire un nuovo valore AT in una posizione specifica all'interno di un documento.

Raccolte annidate

Sebbene sia possibile eseguire un'DMListruzione su una sola tabella, è possibile specificare raccolte nidificate all'interno dei documenti di quella tabella come fonti aggiuntive. Ogni alias dichiarato per una raccolta nidificata può essere utilizzato nella WHERE clausola e nella clausola, or. SET INSERT INTO REMOVE

Ad esempio, le FROM fonti della seguente istruzione includono sia la VehicleRegistration tabella che la struttura nidificata. Owners.SecondaryOwners

FROM VehicleRegistration r, @r.Owners.SecondaryOwners o WHERE r.VIN = '1N4AL11D75C109151' AND o.PersonId = 'abc123' SET o.PersonId = 'def456'

Questo esempio aggiorna l'elemento specifico dell'SecondaryOwnerselenco che contiene un PersonId of 'abc123' all'interno del VehicleRegistration documento che contiene un VIN di'1N4AL11D75C109151'. Questa espressione consente di specificare un elemento di un elenco in base al valore anziché all'indice.

Valore restituito

documentId— L'ID univoco di ogni documento aggiornato o eliminato.

Esempi

Modifica un elemento all'interno di un documento. Se l'elemento non esiste, viene inserito.

FROM Vehicle AS v WHERE v.VIN = '1N4AL11D75C109151' AND v.Color = 'Silver' SET v.Color = 'Shiny Gray'

Modifica o inserisci un elemento e filtra nel campo dei id metadati del documento assegnato dal sistema.

FROM Vehicle AS v BY v_id WHERE v_id = 'documentId' SET v.Color = 'Shiny Gray'

Modifica il PersonId campo del primo elemento dell'Owners.SecondaryOwnerselenco all'interno di un documento.

FROM VehicleRegistration AS r WHERE r.VIN = '1N4AL11D75C109151' SET r.Owners.SecondaryOwners[0].PersonId = 'abc123'

Rimuove un elemento esistente all'interno di un documento.

FROM Person AS p WHERE p.GovId = '111-22-3333' REMOVE p.Address

Rimuove un intero documento da una tabella.

FROM Person AS p WHERE p.GovId = '111-22-3333' REMOVE p

Rimuove il primo elemento dell'Owners.SecondaryOwnerselenco all'interno di un documento della VehicleRegistration tabella.

FROM VehicleRegistration AS r WHERE r.VIN = '1N4AL11D75C109151' REMOVE r.Owners.SecondaryOwners[0]

Inserisce {'Mileage':26500} come coppia nome-valore di primo livello all'interno di un documento della tabella. Vehicle

FROM Vehicle AS v WHERE v.VIN = '1N4AL11D75C109151' INSERT INTO v VALUE 26500 AT 'Mileage'

Aggiungi {'PersonId':'abc123'} come coppia nome-valore nel Owners.SecondaryOwners campo di un documento nella tabella. VehicleRegistration Nota che questa dichiarazione Owners.SecondaryOwners deve già esistere e deve essere un tipo di dati di elenco affinché questa istruzione sia valida. In caso contrario, la parola chiave AT è obbligatoria nella INSERT INTO clausola.

FROM VehicleRegistration AS r WHERE r.VIN = '1N4AL11D75C109151' INSERT INTO r.Owners.SecondaryOwners VALUE { 'PersonId' : 'abc123' }

Inserisci {'PersonId':'abc123'} come primo elemento nell'Owners.SecondaryOwnerselenco esistente all'interno di un documento.

FROM VehicleRegistration AS r WHERE r.VIN = '1N4AL11D75C109151' INSERT INTO r.Owners.SecondaryOwners VALUE {'PersonId' : 'abc123'} AT 0

Aggiungi più coppie nome-valore all'Owners.SecondaryOwnerselenco esistente all'interno di un documento.

FROM VehicleRegistration AS r WHERE r.VIN = '1N4AL11D75C109151' INSERT INTO r.Owners.SecondaryOwners << {'PersonId' : 'abc123'}, {'PersonId' : 'def456'} >>

Esecuzione a livello di codice utilizzando il driver

Per informazioni su come eseguire questa istruzione a livello di codice utilizzando il QLDB driver, consulta i seguenti tutorial in Guida introduttiva al driver: