Функция get_products().................................................................. 412
Процедура display_product().......................................................... 412
Процедура insert_product()............................................................. 413
Процедура update_product_price().................................................. 414
Функция get_product().................................................................... 415
Процедура update_product()........................................................... 415
Функция get_product_ref().............................................................. 416
Процедура delete_product()............................................................ 417
Процедура productJifecycle()......................................................... 417
Процедура productJifecycle2()........................................................ 418
Содержание xvii
Наследование типов....................................................................... 420
Использование объекта подтипа вместо объекта супертипа.................. 422
Примеры на SQL........................................................... 422
Примеры на PL/SQL........................................................................ 423
Объекты типа NOT SUBSTITUTABLE................................................ 424
Другие полезные объектные функции.................................................... 425
IS OF()............................................................................................. 425
TREAT().....................,.................................................................... 429
SYS_TYPEID()................................................................................. 432
Объектные типы NOT INSTANTIABLE....................................................... 433
Конструкторы, определенные пользователем........................................ 435
Переопределение методов.............................................. 438
Обобщённый вызов................................................................................. 440
Итоги....................................................................................................... 442
Глава 13 Коллекции................................................................................................ 443
Знакомство с коллекциями..................................................................... 444
Создание типов коллекций...................................................................... 445
Создание типа varray...................................................................... 445
Создание типа вложенной таблицы............................................... 445
Использование типа коллекции для определения столбца в таблице 446
Использование типа varray для определения столбца в таблице.... 446
Использование типа вложенной таблицы для определения
столбца таблицы............................................................................ 447
Получение информации о коллекциях.................................................... 447
Получение информации о массивах переменной длины............... 447
Получение информации о вложенных таблицах............................ 448
Заполнение коллекции элементами........................................................ 450
Заполнение массива переменной длины элементами................... 450
Заполнение вложенной таблицы элементами................................ 451
Выбор элементов из коллекций.............................................................. 451
Выборка элементов из массива переменной длины...................... 451
Выборка элементов вложенных таблиц......................................... 452
Использование TABLE() для представления коллекции в виде
последовательности строк............................................................. 453
Использование TABLE() с Varray..................................................... 453
Использование TABLE() со вложенной таблицей........................... 454
Изменение элементов коллекций........................................................... 455
Модификация элементов массива переменной длины................. 455
Модификация элементов вложенных таблиц................................ 455
Использование метода отображения для сравнения содержимого
вложенных таблиц.................................................................................. 457
xviii Содержание
Использование CAST() для преобразования коллекций из одного
типа в другой........................................................................................... 460
Использование CAST() для преобразования Varray
во вложенную таблицу................................................................... 460
Использование CAST() для преобразования вложенной
таблицы в Varray............................................................................. 460
Использование коллекций в PL/SQL........................................................ 461
Манипулирование массивами переменной длины......................... 461
Манипулирование вложенными таблицами................................... 463
Методы коллекций PL/SQL............................................................ 465
Многоуровневые коллекции.................................................................... 475
Усовершенствования в коллекциях, появившиеся в OraclelOg.............. 478
Ассоциативные массивы................................................................ 479
Изменение размера типа элемента................................................ 480
Увеличение количества элементов массива переменной длины.... 480
Использование массивов переменной длины во временных
таблицах г.....?....................................................................... 480
Использование различных табличных пространств
для таблицы, в которой хранятся вложенные таблицы................. 481