Cómo evitar ORA-02014: no se puede seleccionar PARA ACTUALIZAR de la vista con DISTINCT, GROUP BY, etc.

Quiero bloquear un registro en una tabla. El registro se especifica como "el siguiente que tiene ID mayor que ..."

CREATE TABLE test (id number);

SELECT id
FROM (SELECT id 
      FROM test
      WHERE id > 10
      ORDER BY id)
WHERE ROWNUM = 1
FOR UPDATE;

Esto parece intuitivo y fácil. Pero no lo es. ¿Algunas ideas?

PD

Necesito que la consulta existente permanezca igual porque es un cursor y hay varios lugares que usan el tipo de fila% de este cursor.

Respuestas a la pregunta(1)

Su respuesta a la pregunta