Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Postgresql và Oracle:cập nhật nhiều bảng từ truy vấn con chung

Một cái gì đó như:

with recursive menu_tree (id, parent_id) as (
   select id, parent_id
   from menu
   where id = 200
   union all 
   select c.id, c.parent_id
   from menu c
     join menu_tree p on p.id = c.parent_id
)
, deleted_menus (menu_id) as (
   update menu
      set softdel = true
   where id in (select id from menu_tree)
   returning menu.id
),
deleted_pages (page_id) as (
   update page
      set softdel = true
   where menu_id in (select menu_id from deleted_menus)
   returning page.id
),
deleted_articles (article_id) as (
   update article
     set softdel = true
   where page_id in (select page_id from deleted_pages)
)
update article_lang
   set softdel = true
where id in (select article_id from deleted_articles);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Quá trình nâng cấp từng bước lên R12.2 Nâng cấp phần -2 (Trình điều khiển Nâng cấp Chính cho R12.2.0)

  2. Tôi có một trình kích hoạt tự trị nhưng chỉ thực thi một lần trong cùng một phiên

  3. Câu hỏi phỏng vấn Oracle

  4. SQL để tìm các mục nhập trùng lặp (trong một nhóm)

  5. Cách nhập dữ liệu vào một vùng bảng cụ thể