使用 “版本 ”下拉列表切换服务。 了解有关导航的详细信息。
适用于:✅ Azure Data Explorer
若要在不保证删除包含这些记录的storage artifacts的情况下软删除单个记录,请使用以下命令。 此命令将记录标记为已删除,但不一定从storage artifacts中删除数据。 有关详细信息,请参阅软删除。
若要使用系统保证删除包含这些记录的storage artifacts也删除单个记录,请参阅 Data purge。
语法
.delete [async] tableTableName records [with( propertyName=propertyValue [, ...])] <|Predicate
详细了解语法约定。
参数
| 客户 | 类型 | 必需 | 说明 |
|---|---|---|---|
async |
string |
如果指定了此项,则指示此命令以异步模式运行。 | |
| TableName | string |
✔️ | 要从中删除记录的表的名称。 |
| propertyName、propertyValue | string |
键值属性对的逗号分隔列表。 请参阅支持的属性。 | |
| Predicate | string |
✔️ | 返回要删除的记录的谓词,指定为查询。 查看注释。 |
注意
以下限制适用于谓词:
- 谓词应至少有一个
where运算符。 - 谓词只能使用以下运算符:
extend、where和project。 - 谓词不能使用
externaldata。
支持的属性
| 客户 | 类型 | 说明 |
|---|---|---|
whatif |
bool |
如果为 true,则返回每个数据库分片中将删除的记录数,而不实际删除任何记录。 默认为 false。 |
返回
命令的输出包含有关哪些区已被替换的信息。
示例:删除给定用户的记录
若要删除包含给定用户的数据的所有记录,请运行以下命令:
.delete table MyTable records <| MyTable | where UserId == 'X'
示例:检查将从表中删除的记录数
如要确定操作将删除的记录数而不实际删除这些记录,请在 模式下运行命令时检查 whatif 列中的值:
.delete table MyTable records with (whatif=true) <| MyTable | where UserId == 'X'
.delete materialized-view records - 软删除命令
对具体化视图执行软删除时,同样的概念和限制也适用。
语法 - 具体化视图
.delete [async] materialized-viewMaterializedViewName records [with( propertyName=propertyValue [, ...])] <|Predicate
详细了解语法约定。
参数 - 具体化视图
| 客户 | 类型 | 必需 | 说明 |
|---|---|---|---|
async |
string |
如果指定了此项,则指示此命令以异步模式运行。 | |
| MaterializedViewName | string |
✔️ | 要从中删除记录的具体化视图的名称。 |
| propertyName、propertyValue | string |
键值属性对的逗号分隔列表。 请参阅支持的属性。 | |
| Predicate | string |
✔️ | 返回要删除的记录的谓词。 指定为查询。 |
注意
对表提到的对 Predicate 的限制也同样适用于此处。 如果软删除与在后台运行的具体化进程发生冲突,可能会失败。 在这种情况下,重试操作会有所帮助。 若要避免冲突,可以在执行软删除之前禁用具体化视图,然后在操作完成后重新启用。 Predicate 中不允许使用函数 materialized_view()。
支持的属性 - 具体化视图
| 客户 | 类型 | 说明 |
|---|---|---|
whatif |
bool |
如果为 true,则返回每个数据库分片中将删除的记录数,而不实际删除任何记录。 默认为 false。 |
示例 - 具体化视图
若要删除包含给定用户的数据的所有具体化视图记录,请运行以下命令:
.delete materialized-view MyMaterializedView records <| MyMaterializedView | where UserId == 'X'
示例:检查将从具体化视图中删除的记录数
如要确定操作将删除的记录数而不实际删除这些记录,请在 模式下运行命令时检查 whatif 列中的值:
.delete materialized-view MyMaterializedView records with (whatif=true) <| MyMaterializedView | where UserId == 'X'