Befehl FROM (INSERT, REMOVE oder SET) in Amazon QLDB - Amazon Quantum Ledger Database (Amazon QLDB)

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.

Befehl FROM (INSERT, REMOVE oder SET) in Amazon QLDB

In Amazon QLDBFROM ist eine Anweisung, die mit beginnt, eine PartiQL-Erweiterung, mit der Sie bestimmte Elemente in ein Dokument einfügen und entfernen können. Sie können diese Anweisung auch zum Aktualisieren von vorhandenen Elementen in einem Dokument verwenden, ähnlich demUPDATE Befehl.

Anmerkung

Informationen zur Zugriffskontrolle zur Ausführung dieses PartiQL-Befehls für bestimmte Tabellen finden Sie unterErste Schritte mit dem Standardberechtigungsmodus in Amazon QLDB.

Syntax

VON - EINFÜGEN

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 [ AS table_alias ] [ BY id_alias ] [ WHERE condition ] INSERT INTO element VALUE data [ AT key_name ]

VON-ENTFERNEN

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 [ AS table_alias ] [ BY id_alias ] [ WHERE condition ] REMOVE element

AB 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 [ AS table_alias ] [ BY id_alias ] [ WHERE condition ] SET element = data [, element = data, ... ]

Parameter

table_name

Der Name der Benutzertabelle mit den zu ändernden Daten. DML-Anweisungen werden nur in der Standard-Benutzeransicht unterstützt. Jede Anweisung kann nur auf einer einzigen 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 oder WHERE verwendet werden, müssen in der FROM-Klausel deklariert werden. Das AS-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 der FROM-Klausel mit dem Schlüsselwort BY 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 Werts AT 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 innerhalb von 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 vorhanden ist, 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 dieVehicle Tabelle einfügen.

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'} >>

Programmgesteuertes Ausführen mit dem Treiber

Informationen zum programmgesteuerten Ausführen dieser Anweisung mithilfe des QLDB-Treibers finden Sie in den folgenden Tutorials unter Erste Schritte mit dem Treiber: