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
[ AStable_alias
] [ BYid_alias
] SETelement
=data
[,element
=data
, ... ] [ WHEREcondition
]
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
[ AStable_alias
] [ BYid_alias
] INSERT INTOelement
VALUEdata
[ ATkey_name
] [ WHEREcondition
]
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
[ AStable_alias
] [ BYid_alias
] REMOVEelement
[ WHEREcondition
]
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áusulaUPDATE
mediante la palabra claveBY
. 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 valorAT
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:
-
Java: Tutorial de inicio rápido | Referencia de libro de recetas
-
.NET: Tutorial de inicio rápido | Referencia de libro de recetas
-
Go: Tutorial de inicio rápido | Referencia de libro de recetas
-
Node.js: Tutorial de inicio rápido | Referencia de libro de recetas
-
Python: Tutorial de inicio rápido | Referencia de libro de recetas