Como contornar o ORA-02014: não é possível selecionar FOR UPDATE na exibição com DISTINCT, GROUP BY etc.
Eu quero bloquear um registro em uma tabela. O registro é especificado como "o próximo que possui um ID maior que ..."
CREATE TABLE test (id number);
SELECT id
FROM (SELECT id
FROM test
WHERE id > 10
ORDER BY id)
WHERE ROWNUM = 1
FOR UPDATE;
Isso parece intuitivo e fácil. Mas não é. Alguma ideia?
P.S.
Eu preciso que a consulta existente permaneça a mesma porque é um cursor e há vários lugares que usam o% rowtype desse cursor.