FROMcommande (INSERTREMOVE,, ouSET) dans Amazon QLDB - Base de données Amazon Quantum Ledger (AmazonQLDB)

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

FROMcommande (INSERTREMOVE,, ouSET) dans Amazon QLDB

Important

Avis de fin de support : les clients existants pourront utiliser Amazon QLDB jusqu'à la fin du support le 31 juillet 2025. Pour plus de détails, consultez Migrer un Amazon QLDB Ledger vers Amazon Aurora SQL Postgre.

Dans AmazonQLDB, une instruction commençant par FROM est une extension partiQL qui vous permet d'insérer et de supprimer des éléments spécifiques dans un document. Vous pouvez également utiliser cette instruction pour mettre à jour des éléments existants dans un document, comme dans le cas de la UPDATE commande.

Note

Pour savoir comment contrôler l'accès afin d'exécuter cette commande partiQL sur des tables spécifiques, consultez. Commencer à utiliser le mode d'autorisation standard sur Amazon QLDB

Syntaxe

FROM-INSERT

Insérez un nouvel élément dans un document existant. Pour insérer un nouveau document de niveau supérieur dans un tableau, vous devez utiliserINSERT.

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

FROM-REMOVE

Supprimez un élément existant dans un document ou supprimez l'intégralité d'un document de niveau supérieur. Cette dernière est sémantiquement identique à la syntaxe traditionnelleDELETE.

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

FROM-SET

Mettez à jour un ou plusieurs éléments d'un document. Si un élément n'existe pas, il est inséré. Cette syntaxe est sémantiquement identique à la syntaxe traditionnelleUPDATE.

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

Paramètres

table_name

Nom de la table utilisateur contenant les données à modifier. DMLles instructions ne sont prises en charge que dans la vue utilisateur par défaut. Chaque instruction ne peut être exécutée que sur une seule table.

Dans cette clause, vous pouvez également inclure une ou plusieurs collections imbriquées dans la table spécifiée. Pour en savoir plus, consultez Collections imbriquées.

AS table_alias

(Facultatif) Alias défini par l'utilisateur qui s'étend au-dessus d'une table à modifier. Tous les alias de table utilisés dans la WHERE clause SETREMOVE,INSERT INTO, ou doivent être déclarés dans la FROM clause. Le AS mot clé est facultatif.

BY id_alias

(Facultatif) Alias défini par l'utilisateur qui est lié au champ de id métadonnées de chaque document du jeu de résultats. L'alias doit être déclaré dans la FROM clause à l'aide du BY mot clé. Cela est utile lorsque vous souhaitez filtrer sur l'ID du document lorsque vous recherchez l'affichage utilisateur par défaut. Pour plus d’informations, consultez Utilisation de la clause BY pour demander l'ID du document.

WHERE condition

Les critères de sélection des documents à modifier.

Note

Si vous omettez la WHERE clause, tous les documents du tableau sont modifiés.

element

Élément de document à créer ou à modifier.

data

Nouvelle valeur pour l'élément.

AT key_name

Un nom clé à ajouter dans les documents à modifier. Vous devez spécifier le nom correspondant VALUE ainsi que le nom de la clé. Cela est nécessaire pour insérer une nouvelle valeur ou AT une position spécifique dans un document.

Collections imbriquées

Bien que vous ne puissiez exécuter une DML instruction que sur une seule table, vous pouvez spécifier des collections imbriquées dans les documents de cette table en tant que sources supplémentaires. Chaque alias que vous déclarez pour une collection imbriquée peut être utilisé dans la WHERE clause et dans la REMOVE clause SETINSERT INTO, ou.

Par exemple, les FROM sources de l'instruction suivante incluent à la fois le VehicleRegistration tableau et la Owners.SecondaryOwners structure imbriquée.

FROM VehicleRegistration r, @r.Owners.SecondaryOwners o WHERE r.VIN = '1N4AL11D75C109151' AND o.PersonId = 'abc123' SET o.PersonId = 'def456'

Cet exemple met à jour l'élément spécifique de la SecondaryOwners liste qui contient un PersonId de 'abc123' dans le VehicleRegistration document contenant un VIN de'1N4AL11D75C109151'. Cette expression permet de spécifier un élément d'une liste par sa valeur plutôt que par son index.

Valeur renvoyée

documentId— L'identifiant unique de chaque document que vous avez mis à jour ou supprimé.

Exemples

Modifiez un élément d'un document. Si l'élément n'existe pas, il est inséré.

FROM Vehicle AS v WHERE v.VIN = '1N4AL11D75C109151' AND v.Color = 'Silver' SET v.Color = 'Shiny Gray'

Modifiez ou insérez un élément et filtrez dans le champ de id métadonnées du document attribué par le système.

FROM Vehicle AS v BY v_id WHERE v_id = 'documentId' SET v.Color = 'Shiny Gray'

Modifiez le PersonId champ du premier élément de la Owners.SecondaryOwners liste dans un document.

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

Supprime un élément existant dans un document.

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

Supprime un document entier d'un tableau.

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

Supprime le premier élément de la Owners.SecondaryOwners liste dans un document du VehicleRegistration tableau.

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

Insérer {'Mileage':26500} en tant que paire nom-valeur de haut niveau dans un document du tableau. Vehicle

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

Ajouter {'PersonId':'abc123'} sous forme de paire nom-valeur dans le Owners.SecondaryOwners champ d'un document du tableau. VehicleRegistration Notez qu'Owners.SecondaryOwnersil doit déjà exister et qu'il doit s'agir d'un type de données de liste pour que cette instruction soit valide. Dans le cas contraire, le mot clé AT est obligatoire dans la INSERT INTO clause.

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

Insérer {'PersonId':'abc123'} en tant que premier élément de la Owners.SecondaryOwners liste existante dans un document.

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

Ajoutez plusieurs paires nom-valeur à la Owners.SecondaryOwners liste existante dans un document.

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

Exécution par programmation à l'aide du pilote

Pour savoir comment exécuter cette instruction par programmation à l'aide du QLDB pilote, consultez les didacticiels suivants dans Getting started with the driver :