Den hierarkiska frågan fungerar bara med SELECT. Det fungerar inte med UPDATE (jag håller med om att det kunde vara snyggt om det gjorde det).
Så vad du kan göra är detta:
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);
Notera ordningen på kolumnerna connect by prior ID = PARENT_ID
. Normalt vill vi gå nerför trädet från START MED-raden, vilket är vad jag har gjort. Din beställning connect by prior PARENT_ID = ID
går upp i trädet från 12345 till sina föräldrar, farföräldrar, etc. Om det är vad du vill byta connect by
klausul tillbaka.