Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
FROMBefehl (INSERTREMOVE, oderSET) in Amazon QLDB
Wichtig
Hinweis zum Ende des Supports: Bestandskunden können Amazon QLDB bis zum Ende des Supports am 31.07.2025 nutzen. Weitere Informationen finden Sie unter Migrieren eines Amazon QLDB Ledgers zu Amazon Aurora SQL Postgre
In Amazon FROM
ist eine AnweisungQLDB, die mit einer PartiQL-Erweiterung beginnt, mit der Sie bestimmte Elemente in ein Dokument einfügen und entfernen können. Sie können diese Anweisung auch verwenden, um vorhandene Elemente in einem Dokument zu aktualisieren, ähnlich dem UPDATE Befehl.
Anmerkung
Informationen zur Steuerung des Zugriffs auf die Ausführung dieses PartiQL-Befehls für bestimmte Tabellen finden Sie unterErste Schritte mit dem Standardberechtigungsmodus in Amazon QLDB.
Themen
Syntax
FROM-INSERT
Fügen Sie ein neues Element in ein vorhandenes Dokument ein. Zum Einfügen eines neuen Dokuments in eine Tabelle müssen Sie INSERT verwenden.
FROM
table_name
[ AStable_alias
] [ BYid_alias
] [ WHEREcondition
] INSERT INTOelement
VALUEdata
[ ATkey_name
]
FROM-REMOVE
Entfernen Sie ein vorhandenes Element in einem Dokument oder entfernen Sie ein gesamtes Dokument der oberen Ebene. Letzteres ist semantisch identisch mit der traditionellen DELETE-Syntax.
FROM
table_name
[ AStable_alias
] [ BYid_alias
] [ WHEREcondition
] REMOVEelement
FROM-SET
Aktualisieren Sie ein oder mehrere Elemente in einem Dokument. Wenn ein Element nicht existiert, wird es eingefügt. Dies ist semantisch identisch mit der traditionellen UPDATE-Syntax.
FROM
table_name
[ AStable_alias
] [ BYid_alias
] [ WHEREcondition
] SETelement
=data
[,element
=data
, ... ]
Parameter
table_name
-
Der Name der Benutzertabelle, die die zu ändernden Daten enthält. DMLAnweisungen werden nur in der Standardbenutzeransicht unterstützt. Jede Anweisung kann nur für eine einzelne Tabelle ausgeführt werden.
In dieser Klausel können Sie auch eine oder mehrere Sammlungen einschließen, die in der angegebenen Tabelle verschachtelt sind. Weitere Details finden Sie unter Verschachtelte Sammlungen.
- AS
table_alias
-
(Optional) Ein benutzerdefinierter Alias, der sich über eine zu ändernde Tabelle erstreckt. Alle Tabellenaliasse, die in der Klausel
SET
,REMOVE
,INSERT INTO
oderWHERE
verwendet werden, müssen in derFROM
-Klausel deklariert werden. DasAS
-Schlüsselwort ist optional. - BY
id_alias
-
(Optional) Eine benutzerdefinierter Alias, der an das Metadatenfeld
id
für jedes Dokument im Ergebnissatz gebunden ist. Der Alias muss in derFROM
-Klausel mit dem SchlüsselwortBY
deklariert werden. Dies ist nützlich, wenn Sie nach der Dokument-ID filtern möchten, während Sie die Standard-Benutzeransicht abfragen. Weitere Informationen finden Sie unter Verwenden der BY-Klausel zur Abfrage der Dokument-ID. - WHERE
condition
-
Die Auswahlkriterien für die Dokumente, die geändert werden sollen.
Anmerkung
Wenn Sie die
WHERE
-Klausel weglassen, werden alle Dokumente in der Tabelle geändert. element
-
Ein Dokumentelement, das erstellt oder geändert werden soll.
data
-
Ein neuer Wert für das Element.
- AT
key_name
-
Ein Schlüsselname, der innerhalb des zu ändernden Dokuments hinzugefügt werden soll. Sie müssen den entsprechenden
VALUE
zusammen mit den Schlüsselnamen angeben. Dies ist für das Einfügen eines neuen WertsAT
einer bestimmten Position innerhalb eines Dokuments erforderlich.
Verschachtelte Sammlungen
Sie können eine DML Anweisung zwar nur für eine einzelne Tabelle ausführen, Sie können jedoch verschachtelte Sammlungen in Dokumenten in dieser Tabelle als zusätzliche Quellen angeben. Jeder Alias, den Sie für eine verschachtelte Auflistung deklarieren, kann in der WHERE
-Klausel und der SET
-, INSERT
INTO
- oder REMOVE
-Klausel verwendet werden.
Beispielsweise umfassen die FROM
-Quellen der folgenden Anweisung sowohl die VehicleRegistration
-Tabelle als auch die verschachtelte Owners.SecondaryOwners
-Struktur.
FROM VehicleRegistration r, @r.Owners.SecondaryOwners o WHERE r.VIN = '1N4AL11D75C109151' AND o.PersonId = 'abc123' SET o.PersonId = 'def456'
In diesem Beispiel wird das spezifische Element der Liste SecondaryOwners
aktualisiert, das als PersonId
'abc123'
innerhalb des Dokuments VehicleRegistration
mit der VIN
'1N4AL11D75C109151'
enthält. Mit diesem Ausdruck können Sie ein Element einer Liste anhand seines Werts und nicht anhand seines Indexes angeben.
Rückgabewert
documentId
— Die eindeutige ID jedes Dokuments, das Sie aktualisiert oder gelöscht haben.
Beispiele
Ändern Sie ein Element in einem Dokument. Wenn das Element nicht existiert, wird es eingefügt.
FROM Vehicle AS v WHERE v.VIN = '1N4AL11D75C109151' AND v.Color = 'Silver' SET v.Color = 'Shiny Gray'
Ändern Sie ein Element oder fügen Sie ein Element ein und filtern Sie nach dem vom System zugewiesenen Dokument-Metadatenfeld id
.
FROM Vehicle AS v BY v_id WHERE v_id = '
documentId
' SET v.Color = 'Shiny Gray'
Ändern Sie das PersonId
-Feld des ersten Elements in der Owners.SecondaryOwners
-Liste innerhalb eines Dokuments.
FROM VehicleRegistration AS r WHERE r.VIN = '1N4AL11D75C109151' SET r.Owners.SecondaryOwners[0].PersonId = 'abc123'
Entfernen Sie ein vorhandenes Element in einem Dokument.
FROM Person AS p WHERE p.GovId = '111-22-3333' REMOVE p.Address
Entfernen Sie ein ganzes Dokument aus einer Tabelle.
FROM Person AS p WHERE p.GovId = '111-22-3333' REMOVE p
Entfernen Sie das erste Element in der Owners.SecondaryOwners
-Liste innerhalb eines Dokuments in der VehicleRegistration
-Tabelle.
FROM VehicleRegistration AS r WHERE r.VIN = '1N4AL11D75C109151' REMOVE r.Owners.SecondaryOwners[0]
{'Mileage':26500}
Als Name-Wert-Paar der obersten Ebene innerhalb eines Dokuments in der Tabelle einfügen. Vehicle
FROM Vehicle AS v WHERE v.VIN = '1N4AL11D75C109151' INSERT INTO v VALUE 26500 AT 'Mileage'
Fügen Sie {'PersonId':'abc123'}
als Name-Wert-Paar in das Owners.SecondaryOwners
-Feld eines Dokuments in der-VehicleRegistration
Tabelle an. Beachten Sie, dass Owners.SecondaryOwners
bereits vorhanden und ein Listen-Datentyp sein muss, damit diese Anweisung gültig ist. Andernfalls ist das Schlüsselwort AT
in der INSERT INTO
-Klausel erforderlich.
FROM VehicleRegistration AS r WHERE r.VIN = '1N4AL11D75C109151' INSERT INTO r.Owners.SecondaryOwners VALUE { 'PersonId' : 'abc123' }
Fügen Sie {'PersonId':'abc123'}
als erstes Element in der vorhandenen Owners.SecondaryOwners
-Liste innerhalb eines Dokuments ein.
FROM VehicleRegistration AS r WHERE r.VIN = '1N4AL11D75C109151' INSERT INTO r.Owners.SecondaryOwners VALUE {'PersonId' : 'abc123'} AT 0
Hängen Sie mehrere Name-Wert-Paare an die bestehende Owners.SecondaryOwners
-Liste innerhalb eines Dokuments an.
FROM VehicleRegistration AS r WHERE r.VIN = '1N4AL11D75C109151' INSERT INTO r.Owners.SecondaryOwners << {'PersonId' : 'abc123'}, {'PersonId' : 'def456'} >>
Wird programmgesteuert mit dem Treiber ausgeführt
Informationen zum programmgesteuerten Ausführen dieser Anweisung mithilfe des QLDB Treibers finden Sie in den folgenden Tutorials unter Erste Schritte mit dem Treiber:
-
Gehe zu: Schnellstart-Tutorial | Referenz zum Kochbuch
-
Node.js: Schnellstart-Tutorial | Referenz zum Kochbuch
-
Python: Schnellstart-Tutorial | Referenz zum Kochbuch