Die hierarchische Abfrage funktioniert nur mit SELECT. Es funktioniert nicht mit UPDATE (ich stimme zu, es könnte nett sein, wenn es das täte).
Sie können also Folgendes tun:
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);
Beachten Sie die Reihenfolge der Spalten connect by prior ID = PARENT_ID
. Normalerweise wollen wir den Baum von der Zeile START WITH nach unten gehen, was ich getan habe. Ihre Bestellung connect by prior PARENT_ID = ID
geht den Stammbaum von 12345 hinauf zu seinen Eltern, Großeltern usw. Wenn Sie das möchten, schalten Sie connect by
um Klausel zurück.