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

Cập nhật sâu Oracle SQL

MERGE là một cách để bắt đầu.

Có một Túi:items =Item1, Item2

Có một BagInDB:bag_id =1items =Item1, Item3

Vì vậy, chúng ta cần cập nhật Item1, thêm Item2 và xóa Item3

Bước đầu tiên (tham gia):

select * from bag full outer join (select * from bagInDB where bag_id = 1)

nó sẽ cung cấp cho bạn

bag_itemName bagInDb_itemName
------------ ----------------
Item1        Item1
Item2        null
null         Item3

Bước thứ 2 (hợp nhất)

merge into baginDB b
using(query above) q on b.bag_id = 1 and b.itemName = q.bagInDb_itemName
when matched then
delete where q.bag_itemName is null
<rest of the conditions>



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Phép trừ ngày trong Oracle

  2. ORACLE / SQL:wm_concat &đặt hàng trước

  3. oracle 12c - chọn chuỗi sau lần xuất hiện cuối cùng của một ký tự

  4. Bảng BIN $ ... trong bảng ALL_TAB_COLUMNS của Oracle là gì?

  5. Chuyển đổi ngày thành chuỗi trong Oracle