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 .