La sintassi è un po' oscura, ma in pratica è necessario manipolare la tabella annidata con l'operatore MULTISET.
update test
set marks = marks multiset union all numberlist(42)
where id_std = 1
Questo concatena l'insieme esistente di segni con un nuovo insieme (in questo caso un insieme di uno). Ecco una demo di LiveSQL (è richiesto un account Oracle Technet gratuito) .
Il vantaggio di questo approccio è che è facile aggiungere più valori contemporaneamente:
update test
set marks = marks multiset union all numberlist(23, 69)
where id_std = 1
Le colonne di tabelle nidificate sono intelligenti in linea di principio ma scomode in pratica. Il loro utilizzo nelle istruzioni SQL può portare a un brutto SQL. Se hai intenzione di utilizzarli dovrai familiarizzare con tutti gli operatori MULTISET. Scopri di più .