Den hierarkiske forespørgsel virker kun med SELECT. Det virker ikke med UPDATE (jeg er enig i, at det kunne være pænt, hvis det gjorde).
Så hvad du kan gøre er dette:
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);
Bemærk rækkefølgen af kolonner connect by prior ID = PARENT_ID
. Normalt vil vi gerne gå ned af træet fra START MED rækken, hvilket er hvad jeg har gjort. Din bestilling connect by prior PARENT_ID = ID
går op i træet fra 12345 til dets forældre, bedsteforældre osv. Hvis det er det du vil, skal du skifte connect by
klausul tilbage.