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

Làm cách nào để cập nhật một cột từ một bảng lồng nhau trong pl / sql?

Cú pháp hơi tối nghĩa, nhưng về cơ bản, bạn cần thao tác với bảng lồng nhau bằng toán tử MULTISET.

update test 
set marks = marks multiset union all numberlist(42) 
where id_std = 1 

Điều này nối tập hợp dấu hiện có với tập hợp mới (trong trường hợp này là tập hợp một dấu). Đây là bản demo LiveSQL (yêu cầu tài khoản Oracle Technet miễn phí) .

Ưu điểm của phương pháp này là dễ dàng thêm nhiều giá trị cùng một lúc:

update test 
set marks = marks multiset union all numberlist(23, 69) 
where id_std = 1 

Các cột bảng lồng nhau là thông minh về nguyên tắc nhưng lại khó xử trong thực tế. Sử dụng chúng trong các câu lệnh SQL có thể dẫn đến một số SQL xấu. Nếu bạn định sử dụng chúng, bạn sẽ cần phải làm quen với tất cả các toán tử MULTISET. Tìm hiểu thêm .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. oracle đọc tên cột từ câu lệnh select

  2. Làm cách nào để thực thi một hàm Oracle từ bên trong một biểu thức LINQ trong Entity Framework 4?

  3. Làm thế nào để CẬP NHẬT một cột bằng cách sử dụng một cột khác trong bảng khác? Lỗi SQL:ORA-00933:Lệnh SQL không kết thúc đúng cách

  4. LongOpsWatcher trong SQL Dev

  5. Tomcat 6/7 JNDI với nhiều nguồn dữ liệu