Oracle
 sql >> база данни >  >> RDS >> Oracle

Как мога да актуализирам колона от вложена таблица в pl/sql?

Синтаксисът е малко неясен, но основно трябва да манипулирате вложената таблица с оператора MULTISET.

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

Това обединява съществуващия набор от марки с нов набор (в този случай набор от един). Ето демонстрация на LiveSQL (изисква се безплатен акаунт в Oracle Technet) .

Предимството на този подход е, че е лесно да добавите няколко стойности наведнъж:

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

Вложените колони на таблицата са умни по принцип, но неудобни на практика. Използването им в SQL изрази може да доведе до някакъв грозен SQL. Ако ще ги използвате ще трябва да се запознаете с всички оператори MULTISET. Научете повече .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. DotConnect на DevArt за Oracle срещу ADO.NET доставчик на данни на DataDirect

  2. Как да намеря дублиращи се стойности в таблица в Oracle?

  3. Оптимизиране на код в PL/SQL. Привеждане в съответствие. Кодът работи, но не е правилен

  4. Как да сортирате първо по числа с Oracle SQL заявка?

  5. Конфигуриране на пакета UTL_MAIL Предпоставки