Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Sintaks SQL untuk kueri pembaruan dengan koneksi sebelumnya

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pemetaan Entitas Terpisah menghasilkan hasil yang tidak terduga dengan database oracle

  2. Mengambil informasi tipe data untuk kolom di Oracle OCCI ResultSet

  3. Muat data dari *.xlsx atau *.xls ke tabel Oracle dari akun Pengguna Oracle Apex 4.0.2

  4. Penerjemah Hibernate 5 HQL untuk Oracle Spatial

  5. Arti dari byte dump(systimestamp) Oracle