Йерархичната заявка работи само с SELECT. Не работи с UPDATE (съгласен съм, че може да е добре, ако беше).
И така, това, което можете да направите, е следното:
update HTABLE
set status = 'INACTIVE'
WHERE STATUS <> 'CLOSE'
and id in ( select c.id
from htable
connect by prior ID = PARENT_ID
start with PARENT_ID = 12345);
Обърнете внимание на реда на колоните connect by prior ID = PARENT_ID
. Обикновено искаме да слезем по дървото от реда ЗАПОЧНЕТЕ С, което направих. Вашата поръчка connect by prior PARENT_ID = ID
се изкачва по дървото от 12345 до своите родители, баби и дядовци и т.н. Ако това е, което искате, превключете connect by
клауза назад.