.delete table records - Comando di eliminazione temporanea
Si applica a: ✅Azure Esplora dati
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
eproject
. - 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'