As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Comando UPDATE no Amazon QLDB
Importante
Aviso de fim do suporte: os clientes existentes poderão usar o Amazon QLDB até o final do suporte em 31/07/2025. Para obter mais detalhes, consulte Migrar um Amazon QLDB Ledger para o Amazon
No Amazon QLDB, use o comando UPDATE para modificar o valor de um ou mais elementos em um documento. Se um elemento não existir, ele será inserido.
Você também pode usar esse comando para inserir e remover explicitamente elementos específicos em um documento, de forma semelhante às instruções FROM (INSERIR, REMOVER ou DEFINIR).
nota
Para aprender a controlar o acesso para executar este comando do PartiQL em tabelas específicas, consulte Introdução ao modo de permissões padrão no Amazon QLDB.
Sintaxe
UPDATE-SET
Atualize um ou mais elementos em um documento. Se um elemento não existir, ele será inserido. Isso é semanticamente o mesmo que a instrução FROM-SET.
UPDATEtable_name[ AStable_alias] [ BYid_alias] SETelement=data[,element=data, ... ] [ WHEREcondition]
UPDATE-INSERT
Insira um novo elemento em um documento existente. Para inserir um novo documento de nível superior em uma tabela, você deve usar INSERT.
UPDATEtable_name[ AStable_alias] [ BYid_alias] INSERT INTOelementVALUEdata[ ATkey_name] [ WHEREcondition]
UPDATE-REMOVE
Remova um elemento existente em um documento ou remova um documento inteiro de nível superior. A última é semanticamente igual à sintaxe DELETE tradicional.
UPDATEtable_name[ AStable_alias] [ BYid_alias] REMOVEelement[ WHEREcondition]
Parâmetros
table_name-
O nome do usuário da tabela que contém os dados a serem modificados. As instruções DML são suportadas somente na visualização padrão do usuário. Cada instrução só pode ser executada em uma única tabela.
- COMO
table_alias -
(Opcional) Um alias definido pelo usuário que varia em uma tabela a ser atualizada. A palavra-chave
ASé opcional. - POR
id_alias -
(Opcional) Um alias definido pelo usuário que se vincula ao campo de metadados
idde cada documento no conjunto de resultados. O alias deve ser declarado na cláusulaUPDATEusando a palavra-chaveBY. Isso é útil quando você deseja filtrar o ID do documento ao consultar a visualização padrão do usuário. Para obter mais informações, consulte Usar a cláusula BY para consultar o ID do documento. element-
Um elemento de documento a ser criado ou modificado.
data-
Um novo valor para o elemento.
- EM
key_name -
Um nome da chave a ser adicionado aos documentos a serem modificados. Você deve especificar o
VALUEcorrespondente junto com o nome da chave. Isso é necessário para inserir um novo valorATem uma posição específica em um documento. - ONDE
condition -
Os critérios de seleção para os documentos a serem modificados.
nota
Se você omitir a cláusula WHERE, todos os documentos na tabela serão modificados.
Valor de retorno
documentId: o ID exclusivo de cada documento que você atualizou.
Exemplos
Atualize um campo em um documento. Se o campo não existir, ele será inserido.
UPDATE Person AS p SET p.LicenseNumber = 'HOLLOR123ZZ' WHERE p.GovId = '111-22-3333'
Filtre no campo de metadados id do documento atribuído pelo sistema.
UPDATE Person AS p BY pid SET p.LicenseNumber = 'HOLLOR123ZZ' WHERE pid = 'documentId'
Substitua um documento inteiro.
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'
Modifica o campo PersonId do primeiro elemento na lista Owners.SecondaryOwners em um documento.
UPDATE VehicleRegistration AS r SET r.Owners.SecondaryOwners[0].PersonId = 'abc123' WHERE r.VIN = '1N4AL11D75C109151'
Insere {'Mileage':26500} como um par nome-valor de nível superior em um documento na tabela Vehicle.
UPDATE Vehicle AS v INSERT INTO v VALUE 26500 AT 'Mileage' WHERE v.VIN = '1N4AL11D75C109151'
Anexa {'PersonId':'abc123'} como um par nome-valor no campo Owners.SecondaryOwners de um documento na tabela VehicleRegistration. Observe que Owners.SecondaryOwners já deve existir e ser um tipo de dados da lista para que essa instrução seja válida. Caso contrário, a palavra-chave AT é exigida na cláusula INSERT INTO.
UPDATE VehicleRegistration AS r INSERT INTO r.Owners.SecondaryOwners VALUE { 'PersonId' : 'abc123' } WHERE r.VIN = '1N4AL11D75C109151'
Insira {'PersonId':'abc123'} como o primeiro elemento na lista Owners.SecondaryOwners existente em um documento.
UPDATE VehicleRegistration AS r INSERT INTO r.Owners.SecondaryOwners VALUE {'PersonId' : 'abc123'} AT 0 WHERE r.VIN = '1N4AL11D75C109151'
Anexe vários pares de nome-valor à lista Owners.SecondaryOwners existente em um documento.
UPDATE VehicleRegistration AS r INSERT INTO r.Owners.SecondaryOwners << {'PersonId' : 'abc123'}, {'PersonId' : 'def456'} >> WHERE r.VIN = '1N4AL11D75C109151'
Remove um elemento existente em um documento.
UPDATE Person AS p REMOVE p.Address WHERE p.GovId = '111-22-3333'
Remove um documento inteiro de uma tabela.
UPDATE Person AS p REMOVE p WHERE p.GovId = '111-22-3333'
Remove o primeiro elemento da lista Owners.SecondaryOwners em um documento na tabela VehicleRegistration.
UPDATE VehicleRegistration AS r REMOVE r.Owners.SecondaryOwners[0] WHERE r.VIN = '1N4AL11D75C109151'
Executar programaticamente usando o driver
Para saber como executar programaticamente essa instrução usando o driver QLDB, consulte os seguintes tutoriais em Conceitos básicos do driver: