UPDATEcomando en Amazon QLDB - Base de datos Amazon Quantum Ledger (AmazonQLDB)

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

UPDATEcomando en Amazon QLDB

importante

Aviso de fin del soporte: los clientes actuales podrán utilizar Amazon QLDB hasta que finalice el soporte, el 31 de julio de 2025. Para obtener más información, consulte Migración de un Amazon QLDB Ledger a Amazon Aurora SQL Postgre.

En AmazonQLDB, usa el UPDATE comando para modificar el valor de uno o más elementos de un documento. Si un elemento no existe, se inserta.

También puede usar este comando para insertar y eliminar de forma explícita elementos específicos de un documento, de forma similar a las instrucciones FROM(INSERT,REMOVE, oSET).

nota

Para obtener información sobre cómo controlar el acceso para ejecutar este comando PartiQL en tablas específicas, consulte Cómo empezar con el modo de permisos estándar en Amazon QLDB.

Sintaxis

UPDATE-SET

Actualice uno o más elementos de un documento. Si un elemento no existe, se inserta. Semánticamente es lo mismo que la SET sentencia FROM-.

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

UPDATE-INSERT

Inserte un elemento nuevo en un documento existente. Para insertar un documento nuevo de nivel superior en una tabla, debe utilizar INSERT.

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

UPDATE-REMOVE

Elimine un elemento existente de un documento o elimine todo un documento de nivel superior. Esta última es semánticamente la misma que la sintaxis DELETE tradicional.

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

Parámetros

table_name

Nombre de la tabla de usuario que contiene los datos que se van a modificar. DMLlas declaraciones solo se admiten en la vista de usuario predeterminada. Cada instrucción solo puede ejecutarse en una sola tabla.

AS table_alias

(Opcional) Un alias definido por el usuario que se extiende a lo largo de una tabla de la que se va a actualizar. La palabra clave AS es opcional.

BY id_alias

(Opcional) Un alias definido por el usuario que se enlaza con el campo de metadatos id de cada documento del conjunto de resultados. El alias debe declararse en la cláusula UPDATE mediante la palabra clave BY. Esto resulta útil cuando se desea filtrar por identificador del documento al consultar la vista de usuario predeterminada. Para obtener más información, consulte Uso de la cláusula BY para consultar el identificador del documento.

element

Elemento del documento que se va a crear o modificar.

data

Un nuevo valor para el elemento.

AT key_name

Un nombre clave que se añadirá a los documentos que se van a modificar. Debe especificar el VALUE correspondiente junto con el nombre de la clave. Esto es necesario para insertar un nuevo valor AT en una posición específica dentro de un documento.

WHERE condition

Criterios de selección para los documentos que se van a modificar.

nota

Si omite la cláusula WHERE, se modificarán todos los documentos de la tabla.

Valor devuelto

documentId: el identificador único de cada documento que ha actualizado.

Ejemplos

Actualizar un campo de un documento. Si un campo no existe, se inserta.

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

Filtrar por el campo de metadatos del id de documento asignado por el sistema.

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

Sobrescribir un documento completo.

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'

Modificar el campo PersonId del primer elemento de la lista Owners.SecondaryOwners dentro de un documento.

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

Insertar {'Mileage':26500} como un par nombre-valor de nivel superior dentro de un documento de la tabla Vehicle.

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

Añadir {'PersonId':'abc123'} como un par nombre-valor en el campo Owners.SecondaryOwners de un documento de la tabla VehicleRegistration. Tenga en cuenta que Owners.SecondaryOwners debe existir ya y debe ser un tipo de datos de lista para que esta instrucción sea válida. De lo contrario, la palabra clave AT es obligatoria en la cláusula INSERT INTO.

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

Insertar {'PersonId':'abc123'} como primer elemento de la lista Owners.SecondaryOwners existente dentro de un documento.

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

Añadir varios pares de nombre-valor a la lista Owners.SecondaryOwners existente dentro de un documento.

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

Insertar un elemento existente en un documento.

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

Eliminar un documento completo de una tabla.

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

Eliminar el primer elemento de la lista Owners.SecondaryOwners dentro de un documento en la tabla VehicleRegistration.

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

Ejecución mediante programación con el controlador

Para aprender a ejecutar esta sentencia mediante programación mediante el QLDB controlador, consulte los siguientes tutoriales en Introducción al controlador: