В рассмотренных выше примерах сборные конструкции модифицировались целиком, однако можно манипулировать и отдельными их элементами, применяя для этого операции PL/SQL и SQL.
Работа в PL/SQL
В модуле Library содержатся процедуры Checkout и Checkln, каждая из которых считывает вложенную таблицу в переменную PL/SQL, обрабатывает ее, а затем обновляет таблицу
Процедура PrintCheckedOut была рассмотрена выше, а теперь дополним модуль:
Работать с элементами хранимых вложенных таблиц можно непосредственно в SQL с помощью оператора TABLE. При использовании этого оператора не нужно извлекать вложенную таблицу в переменную
PL/SQL, выполнять над ней действия, а затем обновлять в базе данных.
Однако с элементами изменяемых массивов нельзя работать непосредственно в SQL — ими манипулируют с помощью PL/SQL.
Дополнительная информация о TABLE содержится в "Oracle SQL Reference".
Запрос к хранимым изменяемым массивам
Элементами хранимого изменяемого массива нельзя манипулировать с помощью инструкций DML (в отличие от вложенных таблиц), однако изменяемый массив можно запрашивать с помощью оператора TABLE. В этом случае TABLE извлекает столбец изменяемого массива и возвращает его элементы, как если бы изменяемый массив сам был отдельной одностолбцовой таблицей. Имя столбца - column_value. Например, можно запросить class_material следующим образом:
< Предыдущая | Следующая > |
---|