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.
Commande FROM (INSERT, REMOVE ou SET) 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 registre Amazon QLDB vers Amazon Aurora PostgreSQL
Dans Amazon QLDB, 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 dans Amazon QLDB
Rubriques
Syntaxe
À PARTIR DE L'INSERTION
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.
FROMtable_name[ AStable_alias] [ BYid_alias] [ WHEREcondition] INSERT INTOelementVALUEdata[ ATkey_name]
DEPUIS/SUPPRIMER
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.
FROMtable_name[ AStable_alias] [ BYid_alias] [ WHEREcondition] REMOVEelement
À PARTIR DU 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.
FROMtable_name[ AStable_alias] [ BYid_alias] [ WHEREcondition] SETelement=data[,element=data, ... ]
Paramètres
table_name-
Nom de la table utilisateur contenant les données à modifier. Les instructions DML 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.
- EN TANT QUE
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
WHEREclauseSETREMOVE,INSERT INTO, ou doivent être déclarés dans laFROMclause. LeASmot clé est facultatif. - PAR
id_alias -
(Facultatif) Alias défini par l'utilisateur qui est lié au champ de
idmétadonnées de chaque document du jeu de résultats. L'alias doit être déclaré dans laFROMclause à l'aide duBYmot clé. Cela est utile lorsque vous souhaitez filtrer sur l'ID du document lorsque vous recherchez l'affichage utilisateur par défaut. Pour de plus amples informations, veuillez consulter Utilisation de la clause BY pour demander l'ID du document. - OÙ
condition -
Les critères de sélection des documents à modifier.
Note
Si vous omettez la
WHEREclause, tous les documents du tableau sont modifiés. element-
Élément de document à créer ou à modifier.
data-
Une nouvelle valeur pour l'élément.
- À
key_name -
Un nom clé à ajouter dans les documents à modifier. Vous devez spécifier le nom correspondant
VALUEainsi que le nom de la clé. Cela est nécessaire pour insérer une nouvelle valeur ouATune position spécifique dans un document.
Collections imbriquées
Bien que vous ne puissiez exécuter une instruction DML 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 pilote QLDB, consultez les didacticiels suivants dans Getting started with the driver :
-
Java : Tutoriel de démarrage rapide | Référence de livre de cuisine
-
.NET : Tutoriel de démarrage rapide | Référence de livre de cuisine
-
Allez : Tutoriel de démarrage rapide | Référence de livre de cuisine
-
Node.js : Tutoriel de démarrage rapide | Référence de livre de cuisine
-
Python : Tutoriel de démarrage rapide | Référence de livre de cuisine