UPDATE CONVERTED T1
SET PARENTID = (SELECT ID FROM
CONVERTED T2 WHERE T2.ID < T1.ID
AND T1.PREVOBJNUM = T2.OBID
AND ROWNUM = 1
ORDER BY ID DESC)
给我以下错误
L Error: ORA-00907: missing right parenthesis
00907. 00000 - "missing right parenthesis"
如果我删除了ORDER BY,它就可以了。知道怎么解决吗?
答案 0 :(得分:2)
您在该声明中无法获得订单。像这样修改它来绕过限制。此外,如果您想要返回正确的记录,我建议将rownum移到第二个选择之外。 Rownum在内部选择中将不正确,因为它在orderby之前应用。如果您按内部选择中的rownum进行过滤,那么您是否会选择最大ID,这是您想要的最终ID。
UPDATE CONVERTED T1
SET PARENTID = (
SELECT ID FROM (
SELECT ID FROM
CONVERTED T2 WHERE T2.ID < T1.ID
AND T1.PREVOBJNUM = T2.OBID
ORDER BY ID DESC)
WHERE ROWNUM = 1
)