.delete-Tabellendatensätze – Befehl zum vorläufigen Löschen
Gilt für: ✅Azure Data Explorer
Wenn Sie einzelne Datensätze vorläufig löschen möchten, ohne dass ein System garantiert, dass auch die Speicherartefakte, die diese Datensätze enthalten, gelöscht werden, verwenden Sie den folgenden Befehl. Mit diesem Befehl werden Datensätze als gelöscht markiert, aber nicht unbedingt die Daten aus Speicherartefakten gelöscht. Weitere Informationen finden Sie unter Vorläufiges Löschen.
Informationen zum Löschen einzelner Datensätze mit einem System garantieren, dass die Speicherartefakte, die diese Datensätze enthalten, ebenfalls gelöscht werden, finden Sie unter "Datenlöschung".
Syntax
.delete
[async
] table
TableName [with
(
propertyName records
=
propertyValue [,
...]] <|
)
Prädikat
Erfahren Sie mehr über Syntaxkonventionen.
Parameter
Name | Type | Erforderlich | Beschreibung |
---|---|---|---|
async |
string |
Wenn angegeben, gibt an, dass der Befehl im asynchronen Modus ausgeführt wird. | |
TableName | string |
✔️ | Der Name der Tabelle, aus der Datensätze gelöscht werden sollen. |
propertyName, propertyValue | string |
Eine durch Trennzeichen getrennte Liste von Schlüsselwert-Eigenschaftspaaren. Siehe unterstützte Eigenschaften. | |
Prädikat | string |
✔️ | Das Prädikat, das Datensätze zurückgibt, die gelöscht werden sollen, die als Abfrage angegeben werden. Siehe Hinweis. |
Hinweis
Die folgenden Einschränkungen gelten für das Prädikat:
- Das Prädikat sollte mindestens einen
where
Operator aufweisen. - Das Prädikat kann nur die folgenden Operatoren verwenden:
extend
undproject
where
. - Das Prädikat kann nicht verwendet werden
externaldata
.
Unterstützte Eigenschaften
Name | Typ | Beschreibung |
---|---|---|
whatif |
bool |
Wenn true , gibt die Anzahl der Datensätze zurück, die in jeder Shard gelöscht werden, ohne tatsächlich Datensätze zu löschen. Der Standardwert ist false . |
Gibt zurück
Die Ausgabe des Befehls enthält Informationen dazu, welche Ausmaße ersetzt wurden.
Beispiel: Löschen von Datensätzen eines bestimmten Benutzers
So löschen Sie alle Datensätze, die Daten eines bestimmten Benutzers enthalten:
.delete table MyTable records <| MyTable | where UserId == 'X'
Beispiel: Überprüfen, wie viele Datensätze aus einer Tabelle gelöscht werden sollen
Um die Anzahl der Datensätze zu ermitteln, die vom Vorgang gelöscht werden würden, ohne sie tatsächlich zu löschen, überprüfen Sie den Wert in der Spalte "RecordsMatchPredicate ", wenn der Befehl im whatif
Modus ausgeführt wird:
.delete table MyTable records with (whatif=true) <| MyTable | where UserId == 'X'
.delete materialized-view records - Soft Delete Command
Wenn das vorläufige Löschen in materialisierten Ansichten ausgeführt wird, gelten dieselben Konzepte und Einschränkungen.
Syntax - materialisierte Ansichten
.delete
[async
] materialized-view
MaterializedViewName [with
(
propertyName records
=
propertyValue [,
...]] <|
)
Prädikat
Erfahren Sie mehr über Syntaxkonventionen.
Parameter – materialisierte Ansichten
Name | Type | Erforderlich | Beschreibung |
---|---|---|---|
async |
string |
Wenn angegeben, gibt an, dass der Befehl im asynchronen Modus ausgeführt wird. | |
MaterializedViewName | string |
✔️ | Der Name der materialisierten Ansicht, aus der Datensätze gelöscht werden sollen. |
propertyName, propertyValue | string |
Eine durch Trennzeichen getrennte Liste von Schlüsselwert-Eigenschaftspaaren. Siehe unterstützte Eigenschaften. | |
Prädikat | string |
✔️ | Das Prädikat, das Datensätze zurückgibt, die gelöscht werden sollen. Als Abfrage angegeben. |
Hinweis
Die gleichen Einschränkungen für das für die Tabelle erwähnte Prädikat gelten auch hier. Bei Konflikten mit dem im Hintergrund ausgeführten Materialisierungsprozess kann ein Weichlöschvorgang fehlschlagen. Das Wiederholen des Vorgangs kann in diesem Fall hilfreich sein. Um Konflikte zu vermeiden, können Sie die materialisierte Ansicht vor dem Ausführen des vorläufigen Löschens deaktivieren und nach Abschluss des Vorgangs erneut aktivieren. Die Verwendung der Funktion materialized_view() ist im Prädikat nicht zulässig.
Unterstützte Eigenschaften – materialisierte Ansichten
Name | Typ | Beschreibung |
---|---|---|
whatif |
bool |
Wenn true , gibt die Anzahl der Datensätze zurück, die in jeder Shard gelöscht werden, ohne tatsächlich Datensätze zu löschen. Der Standardwert ist false . |
Beispiel : materialisierte Ansichten
So löschen Sie alle materialisierten Ansichtsdatensätze, die Daten eines bestimmten Benutzers enthalten:
.delete materialized-view MyMaterializedView records <| MyMaterializedView | where UserId == 'X'
Beispiel: Überprüfen, wie viele Datensätze aus einer materialisierten Ansicht gelöscht werden sollen
Um die Anzahl der Datensätze zu ermitteln, die vom Vorgang gelöscht werden würden, ohne sie tatsächlich zu löschen, überprüfen Sie den Wert in der Spalte "RecordsMatchPredicate " beim Ausführen des Befehls im whatif
Modus:
.delete materialized-view MyMaterializedView records with (whatif=true) <| MyMaterializedView | where UserId == 'X'