.delete table records — polecenie usuwania nietrwałego
Dotyczy: ✅Azure Data Explorer
Aby usunąć nietrwałe pojedyncze rekordy bez gwarancji systemu, że artefakty magazynu zawierające te rekordy również zostaną usunięte, użyj następującego polecenia. To polecenie oznacza rekordy jako usunięte, ale niekoniecznie usuwa dane z artefaktów magazynu. Aby uzyskać więcej informacji, zobacz Usuwanie nietrwałe.
Aby usunąć poszczególne rekordy z gwarancją systemu, że artefakty magazynu zawierające te rekordy również zostaną usunięte, zobacz Przeczyszczanie danych.
Składnia
.delete
[async
] table
TableName records
[with
(
propertyName =
propertyValue [,
...]] <|
)
Predykat
Dowiedz się więcej na temat konwencji składni.
Parametry
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
async |
string |
Jeśli zostanie określony, wskazuje, że polecenie jest uruchamiane w trybie asynchronicznym. | |
TableName | string |
✔️ | Nazwa tabeli, z której mają zostać usunięte rekordy. |
propertyName, propertyValue | string |
Rozdzielona przecinkami lista par właściwości klucz-wartość. Zobacz obsługiwane właściwości. | |
Predykat | string |
✔️ | Predykat, który zwraca rekordy do usunięcia, który jest określony jako zapytanie. Zobacz notatkę. |
Uwaga
Następujące ograniczenia dotyczą predykatu:
- Predykat powinien mieć co najmniej jeden
where
operator. - Predykat może używać tylko następujących operatorów:
extend
,where
iproject
. - Predykat nie może używać .
externaldata
Obsługiwane właściwości
Nazwisko | Pisz | Opis |
---|---|---|
whatif |
bool |
Jeśli true parametr zwraca liczbę rekordów, które zostaną usunięte w każdym fragmentie, bez faktycznego usunięcia rekordów. Wartość domyślna to false . |
Zwraca
Dane wyjściowe polecenia zawierają informacje o tym, które zakresy zostały zastąpione.
Przykład: usuwanie rekordów danego użytkownika
Aby usunąć wszystkie rekordy zawierające dane danego użytkownika:
.delete table MyTable records <| MyTable | where UserId == 'X'
Przykład: sprawdzanie, ile rekordów zostanie usuniętych z tabeli
Aby określić liczbę rekordów, które zostaną usunięte przez operację bez ich faktycznego usunięcia, sprawdź wartość w kolumnie RecordsMatchPredicate podczas uruchamiania polecenia w whatif
trybie:
.delete table MyTable records with (whatif=true) <| MyTable | where UserId == 'X'
.delete materialized-view records — polecenie usuwania nietrwałego
Gdy usuwanie nietrwałe jest wykonywane na zmaterializowanych widokach, mają zastosowanie te same pojęcia i ograniczenia.
Składnia — zmaterializowane widoki
.delete
[async
] materialized-view
MaterializedViewName records
[with
(
propertyName =
propertyValue [,
...]] <|
)
Predykat
Dowiedz się więcej na temat konwencji składni.
Parametry — zmaterializowane widoki
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
async |
string |
Jeśli zostanie określony, wskazuje, że polecenie jest uruchamiane w trybie asynchronicznym. | |
MaterializedViewName | string |
✔️ | Nazwa zmaterializowanego widoku, z którego mają zostać usunięte rekordy. |
propertyName, propertyValue | string |
Rozdzielona przecinkami lista par właściwości klucz-wartość. Zobacz obsługiwane właściwości. | |
Predykat | string |
✔️ | Predykat, który zwraca rekordy do usunięcia. Określony jako zapytanie. |
Uwaga
Te same ograniczenia dotyczące predykatu wymienionego dla tabeli mają zastosowanie również tutaj. Usuwanie nietrwałe może zakończyć się niepowodzeniem w przypadku konfliktów z procesem materializacji uruchomionym w tle. Ponawianie próby wykonania operacji może pomóc w tym przypadku. Aby uniknąć konfliktów, można wyłączyć zmaterializowany widok przed wykonaniem usuwania nietrwałego i ponownie włączyć go po zakończeniu operacji. Użycie funkcji materialized_view() nie jest dozwolone w predykacie.
Obsługiwane właściwości — zmaterializowane widoki
Nazwisko | Pisz | Opis |
---|---|---|
whatif |
bool |
Jeśli true parametr zwraca liczbę rekordów, które zostaną usunięte w każdym fragmentie, bez faktycznego usunięcia rekordów. Wartość domyślna to false . |
Przykład — zmaterializowane widoki
Aby usunąć wszystkie zmaterializowane rekordy widoku zawierające dane danego użytkownika:
.delete materialized-view MyMaterializedView records <| MyMaterializedView | where UserId == 'X'
Przykład: sprawdzanie, ile rekordów zostanie usuniętych z zmaterializowanego widoku
Aby określić liczbę rekordów, które zostaną usunięte przez operację bez ich faktycznego usunięcia, sprawdź wartość w kolumnie RecordsMatchPredicate podczas uruchamiania polecenia w whatif
trybie:
.delete materialized-view MyMaterializedView records with (whatif=true) <| MyMaterializedView | where UserId == 'X'