Kueri hierarkis hanya berfungsi dengan SELECT. Ini tidak bekerja dengan UPDATE (saya setuju itu bisa rapi jika berhasil).
Jadi yang dapat Anda lakukan adalah ini:
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);
Perhatikan urutan kolom connect by prior ID = PARENT_ID
. Biasanya kami ingin berjalan menuruni pohon dari baris MULAI DENGAN, yang telah saya lakukan. connect by prior PARENT_ID = ID
berjalan menaiki pohon dari 12345 ke orang tua, kakek-nenek, dll. Jika itu yang Anda inginkan, alihkan connect by
klausa kembali.