2

我需要从 dm_document 表中删除前 100 个对象。

我已经尝试过:

  • 删除 dm_document 对象,其中 object_name='TestObject' 启用 (RETURN_TOP 100);

  • DELETE dm_document objects where r_object_id in (select r_object_id from dm_document where object_name='TestObject' enable (RETURN_TOP 100));

但两者都没有工作。你有什么建议/想法吗?

4

1 回答 1

2

遗憾的是,通过一个 DQL 查询是不可能的,因为提示仅适用于SELECT用作主语句的语句,并且子选择也不会提供帮助。

您可以使用 DFC(在 Java、Groovy 或任何可以与dfc.jar一起使用的语言中)解决它。选择 100 个 ID,将它们合并为一个,并将它们作为子句String提供到语句中,其中将明确列出所有 ID:DELETEIN

DELETE dm_document OBJECT WHERE r_object_id IN ('0902e70480002d01', '0902e70480002d02', '0902e70480002d03', ...)
于 2019-02-18T14:35:35.370 回答