Enregistrements de table .delete - Commande de suppression réversible
S’applique à : ✅Azure Data Explorer
Pour supprimer de manière réversible des enregistrements individuels sans garantie système que les artefacts de stockage contenant ces enregistrements sont également supprimés, utilisez la commande suivante. Cette commande marque les enregistrements comme supprimés, mais ne supprime pas nécessairement les données des artefacts de stockage. Pour plus d’informations, consultez Suppression réversible.
Pour supprimer des enregistrements individuels avec une garantie système que les artefacts de stockage contenant ces enregistrements sont également supprimés, consultez Purge des données.
Syntaxe
.delete
[async
] table
TableName [with
(
propertyName records
=
PropertyValue [,
...]] <|
)
Prédicat
En savoir plus sur les conventions de syntaxe.
Paramètres
Nom | Type | Requise | Description |
---|---|---|---|
async |
string |
Si elle est spécifiée, indique que la commande s’exécute en mode asynchrone. | |
TableName | string |
✔️ | Nom de la table à partir de laquelle supprimer des enregistrements. |
propertyName, propertyValue | string |
Liste séparée par des virgules de paires de propriétés clé-valeur. Consultez les propriétés prises en charge. | |
Prédicat | string |
✔️ | Prédicat qui retourne des enregistrements à supprimer, qui est spécifié en tant que requête. Consultez la remarque. |
Remarque
Les restrictions suivantes s’appliquent au prédicat :
- Le prédicat doit avoir au moins un
where
opérateur. - Le prédicat ne peut utiliser que les opérateurs suivants :
extend
etproject
where
. - Le prédicat ne peut pas utiliser
externaldata
.
Propriétés prises en charge
Nom | Type | Description |
---|---|---|
whatif |
bool |
Si true , retourne le nombre d’enregistrements qui seront supprimés dans chaque partition, sans réellement supprimer d’enregistrements. Par défaut, il s’agit de false . |
Retours
La sortie de la commande contient des informations sur les étendues qui ont été remplacées.
Exemple : supprimer des enregistrements d’un utilisateur donné
Pour supprimer tous les enregistrements qui contiennent des données d’un utilisateur donné :
.delete table MyTable records <| MyTable | where UserId == 'X'
Exemple : vérifier le nombre d’enregistrements supprimés d’une table
Pour déterminer le nombre d’enregistrements qui seraient supprimés par l’opération sans les supprimer, vérifiez la valeur dans la colonne RecordsMatchPredicate lors de l’exécution de la commande en whatif
mode :
.delete table MyTable records with (whatif=true) <| MyTable | where UserId == 'X'
.delete materialized-view records - soft delete command
Lorsque la suppression réversible est exécutée sur des vues matérialisées, les mêmes concepts et limitations s’appliquent.
Syntaxe - vues matérialisées
.delete
[async
] materialized-view
MaterializedViewName records
[with
(
propertyName =
PropertyValue [,
...]] <|
)
Prédicat
En savoir plus sur les conventions de syntaxe.
Paramètres - vues matérialisées
Nom | Type | Requise | Description |
---|---|---|---|
async |
string |
Si elle est spécifiée, indique que la commande s’exécute en mode asynchrone. | |
MaterializedViewName | string |
✔️ | Nom de la vue matérialisée à partir de laquelle supprimer des enregistrements. |
propertyName, propertyValue | string |
Liste séparée par des virgules de paires de propriétés clé-valeur. Consultez les propriétés prises en charge. | |
Prédicat | string |
✔️ | Prédicat qui retourne des enregistrements à supprimer. Spécifié en tant que requête. |
Remarque
Les mêmes restrictions sur le prédicat mentionné pour la table s’appliquent également ici. La suppression réversible peut échouer en cas de conflit avec le processus de matérialisation en cours d’exécution en arrière-plan. Une nouvelle tentative de l’opération peut vous aider dans ce cas. Pour éviter les conflits, vous pouvez désactiver la vue matérialisée avant d’exécuter la suppression réversible et la réactiver une fois l’opération terminée. L’utilisation de la fonction materialized_view() n’est pas autorisée dans le prédicat.
Propriétés prises en charge - vues matérialisées
Nom | Type | Description |
---|---|---|
whatif |
bool |
Si true , retourne le nombre d’enregistrements qui seront supprimés dans chaque partition, sans réellement supprimer d’enregistrements. Par défaut, il s’agit de false . |
Exemple : vues matérialisées
Pour supprimer tous les enregistrements de vue matérialisés qui contiennent des données d’un utilisateur donné :
.delete materialized-view MyMaterializedView records <| MyMaterializedView | where UserId == 'X'
Exemple : vérifier le nombre d’enregistrements supprimés d’une vue matérialisée
Pour déterminer le nombre d’enregistrements qui seraient supprimés par l’opération sans les supprimer, vérifiez la valeur dans la colonne RecordsMatchPredicate lors de l’exécution de la commande en whatif
mode :
.delete materialized-view MyMaterializedView records with (whatif=true) <| MyMaterializedView | where UserId == 'X'