删除DQL语句中前100个对象
Deleting top 100 objects in DQL statement
我需要从 dm_document table 中删除前 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' 启用 (RETURN_TOP 100));
但两者均无效。你有tips/ideas吗?
遗憾的是,一个 DQL 查询是不可能的,因为当用作主语句时,提示仅适用于 SELECT
语句,子 select 也没有帮助。
您可以使用 DFC 解决它(在 Java、Groovy 或任何可以使用 dfc.jar 的语言中)。 Select 100 个 ID,将它们合并为一个 String
并将它们作为 IN
子句提供到 DELETE
语句中,其中将明确列出所有 ID:
DELETE dm_document OBJECT WHERE r_object_id IN ('0902e70480002d01', '0902e70480002d02', '0902e70480002d03', ...)
我需要从 dm_document table 中删除前 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' 启用 (RETURN_TOP 100));
但两者均无效。你有tips/ideas吗?
遗憾的是,一个 DQL 查询是不可能的,因为当用作主语句时,提示仅适用于 SELECT
语句,子 select 也没有帮助。
您可以使用 DFC 解决它(在 Java、Groovy 或任何可以使用 dfc.jar 的语言中)。 Select 100 个 ID,将它们合并为一个 String
并将它们作为 IN
子句提供到 DELETE
语句中,其中将明确列出所有 ID:
DELETE dm_document OBJECT WHERE r_object_id IN ('0902e70480002d01', '0902e70480002d02', '0902e70480002d03', ...)