【发布时间】:2011-09-14 07:02:30
【问题描述】:
我有一个ITEM 表,其中一列是CREATED_DATE。在集群环境中,许多服务副本将从该表中挑选项目并对其进行处理。每个服务都应该从 ITEM 表中选择最旧的 10 项。
我可以在存储过程中使用它来选择前 10 行:
select * from (
select item_id, row_number() over (order by CREATED_DATE) rownumber
FROM item )
where rownumber < 11
由于许多服务应该使用它,我使用select ... for update 将行更新为“处理”。但是下面的FOR UPDATE 语句对于上面的选择语句失败,错误为“ORA-02014: cannot select FOR UPDATE from view with DISTINCT, GROUP BY, etc.”
OPEN items_cursor FOR
**select Statement**
FOR UPDATE;
请帮我解决一下。
【问题讨论】:
标签: database oracle stored-procedures oracle10g