Condividi tramite


.delete table records - Comando di eliminazione temporanea

Per eliminare in modo leggero singoli record senza una garanzia di sistema che gli artefatti di archiviazione contenenti questi record vengano eliminati, usare il comando seguente. Questo comando contrassegna i record come eliminati, ma non elimina necessariamente i dati dagli artefatti di archiviazione. Per altre informazioni, vedere Eliminazione temporanea.

Per eliminare singoli record con un sistema garantisce che anche gli artefatti di archiviazione contenenti questi record vengano eliminati, vedere Eliminazione dei dati.

Sintassi

.delete[async] table TableName records [with ( propertyName = propertyValue [, ...]] <| )Predicato

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Digita Obbligatorio Descrizione
async string Se specificato, indica che il comando viene eseguito in modalità asincrona.
TableName string ✔️ Nome della tabella da cui eliminare i record.
propertyName, propertyValue string Elenco delimitato da virgole di coppie di proprietà chiave-valore. Vedere le proprietà supportate.
Predicato string ✔️ Predicato che restituisce i record da eliminare, specificato come query. Vedere la nota.

Nota

Le restrizioni seguenti si applicano al predicato:

  • Il predicato deve avere almeno un where operatore.
  • Il predicato può usare solo gli operatori seguenti: extend, where e project.
  • Il predicato non può usare externaldata.

Proprietà supportate

Nome Tipo Descrizione
whatif bool Se true, restituisce il numero di record che verranno eliminati in ogni partizione, senza eliminare effettivamente alcun record. Il valore predefinito è false.

Valori restituiti

L'output del comando contiene informazioni su quali extent sono stati sostituiti.

Esempio: eliminare i record di un determinato utente

Per eliminare tutti i record che contengono dati di un determinato utente:

.delete table MyTable records <| MyTable | where UserId == 'X'

Esempio: controllare il numero di record che verrebbero eliminati da una tabella

Per determinare il numero di record che verrebbero eliminati dall'operazione senza eliminarli, controllare il valore nella colonna RecordsMatchPredicate quando si esegue il comando in whatif modalità:

.delete table MyTable records with (whatif=true) <| MyTable | where UserId == 'X'

.delete materialized-view records - Comando di eliminazione temporanea

Quando l'eliminazione temporanea viene eseguita in viste materializzate, si applicano gli stessi concetti e limitazioni.

Sintassi : viste materializzate

.delete[async] materialized-view MaterializedViewName records [with ( propertyName = propertyValue [, ...]] <| )Predicato

Altre informazioni sulle convenzioni di sintassi.

Parametri - viste materializzate

Nome Digita Obbligatorio Descrizione
async string Se specificato, indica che il comando viene eseguito in modalità asincrona.
MaterializedViewName string ✔️ Nome della vista materializzata da cui eliminare i record.
propertyName, propertyValue string Elenco delimitato da virgole di coppie di proprietà chiave-valore. Vedere le proprietà supportate.
Predicato string ✔️ Predicato che restituisce i record da eliminare. Specificato come query.

Nota

Le stesse restrizioni sul predicato menzionato per la tabella si applicano anche qui. L'eliminazione temporanea potrebbe non riuscire in caso di conflitti con il processo di materializzazione in esecuzione in background. La ripetizione dell'operazione può essere utile in questo caso. Per evitare conflitti, è possibile disabilitare la vista materializzata prima di eseguire l'eliminazione temporanea e riabilitarla al termine dell'operazione. L'utilizzo della funzione materialized_view() non è consentito nel predicato.

Proprietà supportate : viste materializzate

Nome Tipo Descrizione
whatif bool Se true, restituisce il numero di record che verranno eliminati in ogni partizione, senza eliminare effettivamente alcun record. Il valore predefinito è false.

Esempio : viste materializzate

Per eliminare tutti i record di visualizzazione materializzati che contengono dati di un determinato utente:

.delete materialized-view MyMaterializedView records <| MyMaterializedView | where UserId == 'X'

Esempio: controllare il numero di record che verrebbero eliminati da una vista materializzata

Per determinare il numero di record che verrebbero eliminati dall'operazione senza eliminarli, controllare il valore nella colonna RecordsMatchPredicate durante l'esecuzione del comando in whatif modalità:

.delete materialized-view MyMaterializedView records with (whatif=true) <| MyMaterializedView | where UserId == 'X'