Можете да използвате COALESCE( salary_history, salary_list() ) MULTISET UNION ALL salary_list(:your_new_value)
за да добавите новата стойност към стария списък (или да създадете нов списък, ако не съществува).
Настройка на схема на Oracle 11g R2 :
СЪЗДАВАЙТЕ ИЛИ ЗАМЕНЕТЕ ТИП salary_list КАТО ТАБЛИЦА С НОМЕР;/СЪЗДАВАЙТЕ ТАБЛИЦА служители( id НОМЕР, salary_history salary_list) ВЛОЖЕНА ТАБЛИЦА salary_history СЪХРАНЯВАНЕ КАТО раздел salary_history_tab/ВМЪКНЕТЕ В СТОЙНОСТИ на служители ( 1, NULL )/
Заявка 1 :
АКТУАЛИЗИРАНЕ на EmploymentsSET salary_history =COALESCE( salary_history, salary_list() ) MULTISET UNION ALL salary_list( 500 )WHERE id =1SELECT * FROM служители
<предварителен код>| ID | SALARY_HISTORY ||----|----------------|| 1 | 500 | Заявка 2 :
АКТУАЛИЗИРАНЕ на EmploymentsSET salary_history =COALESCE( salary_history, salary_list() ) MULTISET UNION ALL salary_list( 700 )WHERE id =1SELECT * FROM служители
<предварителен код>| ID | SALARY_HISTORY ||----|----------------|| 1 | 500 700 | Заявка 3 :
АКТУАЛИЗИРАНЕ на EmploymentsSET salary_history =COALESCE( salary_history, salary_list() ) MULTISET UNION ALL salary_list( 500 )WHERE id =1SELECT * FROM служители
<предварителен код>| ID | SALARY_HISTORY ||----|----------------|| 1 | 500,700,500 |