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
Dans Amazon QLDB, une instruction qui commence parFROM
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, de la même manière que laMISE A JOUR commande.
Note
Pour savoir comment contrôler l'accès afin d'exécuter cette commande PartiQL sur des tables spécifiques, consultezCommencer à 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.
FROM
table_name
[ AStable_alias
] [ BYid_alias
] [ WHEREcondition
] INSERT INTOelement
VALUEdata
[ ATkey_name
]
À PARTIR DE 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 à laDELETE syntaxe traditionnelle.
FROM
table_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é. Du point de vue sémantique, c'est la même syntaxe que laMISE A JOUR syntaxe traditionnelle.
FROM
table_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 couvre une table à modifier. Tous les alias de table utilisés dans la
WHERE
clauseSET
REMOVE
,INSERT INTO
, ou doivent être déclarés dans laFROM
clause. LeAS
mot-clé est facultatif. - PAR
id_alias
-
(Facultatif) Alias défini par l'utilisateur qui se lie au champ de
id
métadonnées de chaque document du jeu de résultats. L'alias doit être déclaré dans laFROM
clause à l'aide duBY
mot clé. Cela est utile lorsque vous souhaitez filtrer en fonction de l'ID du document tout en interrogeant la vue utilisateur par défaut. Pour plus d'informations, veuillez consulter Utilisation de la clause BY pour interroger l'ID du document. - WHERE
condition
-
Critères de sélection des documents à modifier.
Note
Si vous omettez la
WHERE
clause, tous les documents de la table sont modifiés. élément
-
Élément de document à créer ou à modifier.
data
-
Une nouvelle valeur pour l'élément.
Nom_clé
AT-
Un nom de 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 àAT
une 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 laWHERE
clause et laREMOVE
clauseSET
INSERT
INTO
, ou.
Par exemple, lesFROM
sources de l'instruction suivante incluent à la fois laVehicleRegistration
table et laOwners.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 laSecondaryOwners
liste qui possède unPersonId
de'abc123'
dans leVehicleRegistration
document qui possède unVIN
de'1N4AL11D75C109151'
. Cette expression vous 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 dans 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 un filtre dans le champ deid
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 lePersonId
champ du premier élément de laOwners.SecondaryOwners
liste dans un document.
FROM VehicleRegistration AS r WHERE r.VIN = '1N4AL11D75C109151' SET r.Owners.SecondaryOwners[0].PersonId = 'abc123'
Supprimez un élément existant dans un document.
FROM Person AS p WHERE p.GovId = '111-22-3333' REMOVE p.Address
Supprimer un document entier d'un tableau.
FROM Person AS p WHERE p.GovId = '111-22-3333' REMOVE p
Supprimez le premier élément de laOwners.SecondaryOwners
liste dans un document duVehicleRegistration
tableau.
FROM VehicleRegistration AS r WHERE r.VIN = '1N4AL11D75C109151' REMOVE r.Owners.SecondaryOwners[0]
Insérez{'Mileage':26500}
en tant que paire nom-valeur de niveau supérieur dans un document duVehicle
tableau.
FROM Vehicle AS v WHERE v.VIN = '1N4AL11D75C109151' INSERT INTO v VALUE 26500 AT 'Mileage'
Ajoutez-le{'PersonId':'abc123'}
sous forme de paire nom-valeur dans leOwners.SecondaryOwners
champ d'un document duVehicleRegistration
tableau. Notez qu'Owners.SecondaryOwners
il 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 laINSERT INTO
clause.
FROM VehicleRegistration AS r WHERE r.VIN = '1N4AL11D75C109151' INSERT INTO r.Owners.SecondaryOwners VALUE { 'PersonId' : 'abc123' }
Insérer en{'PersonId':'abc123'}
tant que premier élément de laOwners.SecondaryOwners
liste existante d'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 à laOwners.SecondaryOwners
liste existante d'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 la section Prise en main du pilote :