UPDATEBefehl in Amazon QLDB - Amazon Quantum Ledger-Datenbank (AmazonQLDB)

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.

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

Verwenden Sie in Amazon den UPDATE BefehlQLDB, um den Wert eines oder mehrerer Elemente in einem Dokument zu ändern. Wenn ein Element nicht existiert, wird es eingefügt.

Sie können diesen Befehl auch verwenden, um bestimmte Elemente explizit in ein Dokument einzufügen und zu entfernen, ähnlich wie bei FROM(INSERT,REMOVE, oderSET) Anweisungen.

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.

Syntax

UPDATE-SET

Aktualisieren Sie ein oder mehrere Elemente in einem Dokument. Wenn ein Element nicht existiert, wird es eingefügt. Das ist semantisch dasselbe wie die FROM- SET Anweisung.

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

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

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

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

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

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.

AS table_alias

(Optional) Ein benutzerdefinierter Alias, der sich über eine zu aktualisierende Tabelle erstreckt. 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 UPDATE-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.

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.

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.

Rückgabewert

documentId— Die eindeutige ID jedes Dokuments, das Sie aktualisiert haben.

Beispiele

Aktualisieren Sie ein Feld in einem Dokument. Wenn das Feld nicht existiert, wird es eingefügt.

UPDATE Person AS p SET p.LicenseNumber = 'HOLLOR123ZZ' WHERE p.GovId = '111-22-3333'

Filtern Sie das vom System zugewiesene Dokument-id-Metadatenattribut.

UPDATE Person AS p BY pid SET p.LicenseNumber = 'HOLLOR123ZZ' WHERE pid = 'documentId'

Überschreiben Sie ein gesamtes Dokument.

UPDATE Person AS p SET p = { 'FirstName' : 'Rosemarie', 'LastName' : 'Holloway', 'DOB' : `1977-06-18T`, 'GovId' : '111-22-3333', 'GovIdType' : 'Driver License', 'Address' : '4637 Melrose Street, Ellensburg, WA, 98926' } WHERE p.GovId = '111-22-3333'

Ändern Sie das PersonId-Feld des ersten Elements in der Owners.SecondaryOwners-Liste innerhalb eines Dokuments.

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

{'Mileage':26500}Als Name-Wert-Paar der obersten Ebene innerhalb eines Dokuments in der Tabelle einfügen. Vehicle

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

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.

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

Fügen Sie {'PersonId':'abc123'} als erstes Element in der vorhandenen Owners.SecondaryOwners-Liste innerhalb eines Dokuments ein.

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

Hängen Sie mehrere Name-Wert-Paare an die bestehende Owners.SecondaryOwners-Liste innerhalb eines Dokuments an.

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

Entfernen Sie ein vorhandenes Element in einem Dokument.

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

Entfernen Sie ein ganzes Dokument aus einer Tabelle.

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

Entfernen Sie das erste Element in der Owners.SecondaryOwners-Liste innerhalb eines Dokuments in der VehicleRegistration-Tabelle.

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

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: