0
UPDATE element e1 SET e1.line_number =
(
SELECT t.r FROM
(
select ele,rownum r from
(
select nvl(par.SEQUENCE,ch.SEQUENCE),ch.SEQUENCE,nvl2(par.SEQUENCE,ch.SEQUENCE,0),ch.element_id ele
from element par right join element ch on par.element_id=ch.parent_element_id
where ch.document_id = 78384 order by 1,3,2
)
) t ,element e1
WHERE e1.element_id = t.ele
) WHERE e1.document_id = 78384;
根據'nvl()'的用法增加了'oracle'標籤。 – 2014-09-22 07:10:54
這有一個可怕的O(n2)性能。如果您提供了創建腳本,示例數據和預期輸出,我們可以向您展示如何使用O(n)性能實現。 – 2014-09-22 10:35:49