我想在表格中锁定一条记录。 该记录被指定为“ID大于......的下一个”
CREATE TABLE test (id number);
SELECT id
FROM (SELECT id
FROM test
WHERE id > 10
ORDER BY id)
WHERE ROWNUM = 1
FOR UPDATE;
这似乎直观而简单。但事实并非如此。有什么想法吗?
P.S。
我确实需要现有的查询保持不变,因为它是一个游标,有几个地方使用这个游标的%rowtype。
答案 0 :(得分:6)
我认为你需要这样的东西:
SELECT id
FROM test
WHERE id =
(SELECT MIN(id)
FROM test
WHERE id > 10)
FOR UPDATE;