你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
.delete table records - 软删除命令
适用于:✅Azure 数据资源管理器
若要在没有系统保证同时删除包含这些记录的存储项目的情况下软删除单个记录,请使用以下命令。 该命令会将记录标记为已删除,但不一定从存储项目中删除数据。 有关详细信息,请参阅软删除。
若要删除单个记录并由系统保证同时删除包含这些记录的存储项目,请使用数据清除。
语法
.delete
[async
] table
TableName records
[with
(
propertyName =
propertyValue [,
...])
] <|
Predicate
详细了解语法约定。
参数
客户 | 类型 | 必需 | 说明 |
---|---|---|---|
async |
string |
如果指定了此项,则指示此命令以异步模式运行。 | |
TableName | string |
✔️ | 要从中删除记录的表的名称。 |
propertyName, propertyValue | string |
键值属性对的逗号分隔列表。 请参阅支持的属性。 | |
Predicate | string |
✔️ | 返回要删除的记录的谓词,指定为查询。 查看注释。 |
注意
以下限制适用于谓词:
- 谓词应至少有一个
where
运算符。 - 谓词只能使用以下运算符:
extend
、where
和project
。 - 谓词不能使用
externaldata
。
支持的属性
名称 | Type | 描述 |
---|---|---|
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 records - 软删除命令
对具体化视图执行软删除时,同样的概念和限制也适用。
语法 - 具体化视图
.delete
[async
] materialized-view
MaterializedViewName records
[with
(
propertyName =
propertyValue [,
...])
] <|
Predicate
详细了解语法约定。
参数 - 具体化视图
名称 | 类型 | 必需 | 说明 |
---|---|---|---|
async |
string |
如果指定了此项,则指示此命令以异步模式运行。 | |
MaterializedViewName | string |
✔️ | 要从中删除记录的具体化视图的名称。 |
propertyName, propertyValue | string |
键值属性对的逗号分隔列表。 请参阅支持的属性。 | |
Predicate | string |
✔️ | 返回要删除的记录的谓词。 指定为查询。 |
注意
对表提到的对 Predicate 的限制也同样适用于此处。 如果软删除与在后台运行的具体化进程发生冲突,可能会失败。 在这种情况下,重试操作会有所帮助。 若要避免冲突,可以在执行软删除之前禁用具体化视图,然后在操作完成后重新启用。 Predicate 中不允许使用函数 materialized_view()。
支持的属性 - 具体化视图
名称 | Type | 描述 |
---|---|---|
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'