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
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
Argomenti
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
[ AStable_alias
] [ BYid_alias
] [ WHEREcondition
] INSERT INTOelement
VALUEdata
[ ATkey_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
[ AStable_alias
] [ BYid_alias
] [ WHEREcondition
] REMOVEelement
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
[ AStable_alias
] [ BYid_alias
] [ WHEREcondition
] SETelement
=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 clausola
SET
,REMOVE
INSERT INTO
, o devono essere dichiarati nellaWHERE
clausola.FROM
LaAS
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 laFROM
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 valoreAT
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'SecondaryOwners
elenco 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.SecondaryOwners
elenco 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.SecondaryOwners
elenco 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.SecondaryOwners
elenco 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.SecondaryOwners
elenco 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:
-
Java: | Tutorial di avvio rapido Riferimento al libro di cucina
-
.NET: Tutorial di avvio rapido | Riferimento al libro di cucina
-
Vai: Tutorial di avvio rapido | Riferimento al libro di cucina
-
Node.js: Tutorial di avvio rapido | Riferimento al libro di cucina
-
Python: | Tutorial di avvio rapido Riferimento al libro di cucina