Sdílet prostřednictvím


.delete table records – příkaz obnovitelného odstranění

Pokud chcete obnovitelně odstranit jednotlivé záznamy bez systémové záruky, že se odstraní i artefakty úložiště obsahující tyto záznamy, použijte následující příkaz. Tento příkaz označí záznamy jako odstraněné, ale nemusí nutně odstranit data z artefaktů úložiště. Další informace najdete v tématu Obnovitelné odstranění.

Pokud chcete odstranit jednotlivé záznamy se systémovou zárukou, že se odstraní i artefakty úložiště obsahující tyto záznamy, přečtěte si téma Vymazání dat.

Syntax

.delete [async] tableTableNamerecords [with(propertyName propertyName=propertyValue [, ...])] <|Predikátu

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Typ Vyžadováno Popis
async string Pokud je zadáno, znamená to, že příkaz běží v asynchronním režimu.
TableName string ✔️ Název tabulky, ze které se mají odstranit záznamy.
propertyName, propertyValue string Seznam párů vlastností klíč-hodnota oddělený čárkami. Projděte si podporované vlastnosti.
Predikátu string ✔️ Predikát, který vrací záznamy k odstranění, který je zadaný jako dotaz. Viz poznámka.

Poznámka

Pro predikát platí následující omezení:

  • Predikát by měl mít alespoň jeden where operátor.
  • Predikát může používat pouze následující operátory: extend, where a project.
  • Predikát nemůže použít externaldata.

Podporované vlastnosti

Název Typ Description
whatif bool Pokud true, vrátí počet záznamů, které budou odstraněny v každém horizontálním oddílu, aniž by se ve skutečnosti odstranily žádné záznamy. Výchozí formát je false.

Návraty

Výstup příkazu obsahuje informace o tom, které rozsahy byly nahrazeny.

Příklad: odstranění záznamů daného uživatele

Odstranění všech záznamů, které obsahují data daného uživatele:

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

Příklad: Kontrola počtu záznamů, které by se odstranily z tabulky

Pokud chcete určit počet záznamů, které by operace odstranila, aniž by se skutečně odstranily, zkontrolujte hodnotu ve sloupci RecordsMatchPredicate při spuštění příkazu v whatif režimu:

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

.delete materialized-view records – příkaz obnovitelného odstranění

Při obnovitelném odstranění v materializovaných zobrazeních platí stejné koncepty a omezení.

Syntaxe – materializovaná zobrazení

.delete [async] materialized-viewMaterializedViewNamerecords [with(propertyName propertyName=propertyValue [, ...])] <|Predikátu

Přečtěte si další informace o konvencích syntaxe.

Parametry – materializovaná zobrazení

Název Typ Vyžadováno Popis
async string Pokud je zadáno, znamená to, že příkaz běží v asynchronním režimu.
MaterializedViewName string ✔️ Název materializovaného zobrazení, ze kterého se mají odstranit záznamy.
propertyName, propertyValue string Seznam párů vlastností klíč-hodnota oddělený čárkami. Projděte si podporované vlastnosti.
Predikátu string ✔️ Predikát, který vrací záznamy k odstranění. Zadáno jako dotaz.

Poznámka

Platí zde také stejná omezení pro predikát uvedený pro tabulku. Obnovitelné odstranění může selhat v případě konfliktů s procesem materializace běžícím na pozadí. V takovém případě může pomoct opakování operace. Chcete-li předejít konfliktům, můžete materializované zobrazení před provedením obnovitelného odstranění zakázat a po dokončení operace ho znovu povolit. Použití funkce materialized_view() není v predikátu povolené.

Podporované vlastnosti – materializovaná zobrazení

Název Typ Description
whatif bool Pokud true, vrátí počet záznamů, které budou odstraněny v každém horizontálním oddílu, aniž by se ve skutečnosti odstranily žádné záznamy. Výchozí formát je false.

Příklad – materializovaná zobrazení

Odstranění všech materializovaných záznamů zobrazení, které obsahují data daného uživatele:

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

Příklad: Kontrola počtu záznamů, které by se odstranily z materializovaného zobrazení

Pokud chcete určit počet záznamů, které by operace odstranila, aniž by se skutečně odstranily, zkontrolujte hodnotu ve sloupci RecordsMatchPredicate při spouštění příkazu v whatif režimu:

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