Как обойти ORA-02014: невозможно выбрать FOR UPDATE в представлении с помощью DISTINCT, GROUP BY и т. Д.

Я хочу заблокировать одну запись в таблице. Запись указана как «следующая, идентификатор которой больше ...»

CREATE TABLE test (id number);

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

Это кажется интуитивно понятным и простым. Но это не так. Есть идеи?

Постскриптум

Мне нужно, чтобы существующий запрос остался прежним, потому что это курсор, и есть несколько мест, которые используют этот тип строки курсора%.

Ответы на вопрос(1)

Ваш ответ на вопрос