次の方法で共有


.delete テーブル レコード - 論理的な削除コマンド

これらのレコードを含むストレージ成果物も削除されることをシステムで保証せずに個々のレコードを論理的に削除するには、次のコマンドを使用します。 このコマンドは、レコードを削除済みとしてマークしますが、必ずしもストレージ成果物からデータを削除するとは限りません。 詳細については、「論理的な削除」に関する記事をご覧ください。

これらのレコードを含むストレージ成果物も削除されることを保証するシステムで個々のレコードを削除するには、「 Data purge」を参照してください。

構文

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

構文規則について詳しく知る。

パラメーター

件名 タイプ Required 説明
async string 指定した場合、コマンドが非同期モードで実行されることを示します。
TableName string ✔️ レコードを削除するテーブルの名前。
propertyName, propertyValue string キーと値のプロパティのペアのコンマ区切りのリスト。 サポートされるプロパティを参照してください
Predicate string ✔️ 削除するレコードを返す述語。クエリとして指定されます。 「注」を参照してください。

Note

次の制限は述語に適用されます。

  • 述語には、少なくとも 1 つの where 演算子が必要です。
  • 述語では、extendwhere、および project 演算子のみを使用できます。
  • 述語は externaldataを使用できません。

サポートされているプロパティ

名前 種類 説明
whatif bool true場合は、実際にレコードを削除せずに、すべてのシャードで削除されるレコードの数を返します。 既定値は、false です。

返品

コマンドの出力には、置き換えられたエクステントに関する情報が含まれています。

例: 特定のユーザーのレコードを削除する

特定のユーザーのデータを含むすべてのレコードを削除するには、以下を実行します。

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

例: テーブルから削除されるレコードの数を確認する

実際に削除せずに操作によって削除されるレコードの数を確認するには、whatif モードでコマンドを実行するときに、RecordsMatchPredicate 列の値を確認します。

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

.delete materialized-view レコード - 論理的な削除コマンド

具体化されたビューで論理的な削除を実行する場合は、同じ概念と制限が適用されます。

構文 - 具体化されたビュー

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

構文規則について詳しく知る。

パラメーター - 具体化されたビュー

名前 タイプ Required 説明
async string 指定した場合、コマンドが非同期モードで実行されることを示します。
MaterializedViewName string ✔️ レコードの削除元となる具体化されたビューの名前。
propertyName, propertyValue string キーと値のプロパティのペアのコンマ区切りのリスト。 サポートされるプロパティを参照してください
Predicate string ✔️ 削除するレコードを返す述語。 クエリとして指定されます。

Note

表に記載されている Predicate に関する同じ制限もここでも適用されます。 バックグラウンドで実行マテリアル化プロセスとの競合が発生した場合、論理的な削除が失敗する可能性があります。 操作を再試行すると、この場合に役立ちます。 競合を回避するには、論理的な削除 実行する前に 具体化されたビューを無効にし、操作が完了したときに再度有効にすることができます。 Predicateでは、関数materialized_view()の使用は許可されていません。

サポートされるプロパティ - 具体化されたビュー

名前 種類 説明
whatif bool true場合は、実際にレコードを削除せずに、すべてのシャードで削除されるレコードの数を返します。 既定値は、false です。

例 - 具体化されたビュー

特定のユーザーのデータを含むすべての具体化されたビュー レコードを削除するには:

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

例: 具体化されたビューから削除されるレコードの数を確認する

実際に削除せずに操作によって削除されるレコードの数を確認するには、whatif モードでコマンドを実行しているときに RecordsMatchPredicate 列の値を確認します。

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