De syntaxis is een beetje onduidelijk, maar eigenlijk moet je de geneste tabel manipuleren met de MULTISET-operator.
update test
set marks = marks multiset union all numberlist(42)
where id_std = 1
Hiermee wordt de bestaande set markeringen samengevoegd met een nieuwe set (in dit geval een set van één). Hier is een LiveSQL-demo (gratis Oracle Technet-account vereist) .
Het voordeel van deze aanpak is dat het gemakkelijk is om meerdere waarden tegelijk toe te voegen:
update test
set marks = marks multiset union all numberlist(23, 69)
where id_std = 1
Geneste tabelkolommen zijn in principe slim, maar in de praktijk onhandig. Het gebruik ervan in SQL-instructies kan leiden tot lelijke SQL. Als u ze gaat gebruiken, moet u vertrouwd raken met alle MULTISET-operators. Meer informatie .