Zapytanie hierarchiczne działa tylko z SELECT. Nie działa z UPDATE (zgadzam się, że mogłoby być fajnie, gdyby tak było).
Możesz więc zrobić tak:
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);
Zwróć uwagę na kolejność kolumn connect by prior ID = PARENT_ID
. Zwykle chcemy zejść po drzewie z rzędu START WITH, co zrobiłem. Twoje zamówienie connect by prior PARENT_ID = ID
idzie w górę drzewa od 12345 do jego rodziców, dziadków itp. Jeśli tego chcesz, przełącz connect by
klauzula z powrotem.