Partager via


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 : extendet projectwhere .
  • 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'