DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Объявление и использование типов сборных конструкций


L/SQL позволяет оперировать одновременно несколькими перемен­ными как единым целым. Такие типы данных называются сборными конст­рукциями (collection). В OracIe7 существовал лишь один тип сборных конструкций — индексная таблица. В Огас1е8 к этому типу добавлены еще два: вложенные таблицы и изменяемые массивы (varray). Oracle9i предо­ставляет возможность создания многоуровневых сборных конструкций, т.е. сборных конструкций сборных конструкций. Каждый из этих типов аналогичен массивам в других языках программирования. В данной главе обсуждаются свойства сборных конструкций.
PL/SQL имеет два составных типа: записи и сборные конструкции (см. главу 3). Запись позволяет интерпретировать несколько переменных, на­пример все поля таблицы students, как целое. Записи аналогичны струк­турам в С. Сборные конструкции также являются составными типами данных в том смысле, что позволяют интерпретировать несколько пере­менных как целое. Однако вместо объединения нескольких переменных различных типов, сборная конструкция объединяет элементы одного и того же типа, аналогично массиву С или Java. Существуют три типа сбор­ных конструкций: индексные таблицы, вложенные таблицы и изменяемые массивы.
Индексные таблицы (index-by tables) впервые появились в PL/SQL 2.0 (в Огас1е7 редакции 7.0) и были значительно усовершенствованы в PL/SQL 2.3 (в Огас1е7 редакции 7.3). Вложенные таблицы (nested tables), появившиеся в Огас1е8, расширили функциональные возможности ин­дексных таблиц дополнительными методами сборных конструкций (изве­стными как табличные атрибуты (table attributes) индексных таблиц). Вложенные таблицы можно хранить в таблицах базы данных (именно по­этому они называются вложенными) и использовать непосредственно в SQL. Индексные же таблицы существуют исключительно в PL/SQL, и их нельзя хранить непосредственно в таблице базы данных. В совокупности индексные таблицы и вложенные таблицы называют таблицами PL/SQL.
Внимание
В Oracle7 таблицами PL/SQL назывались индексные таблицы. В Oracle8 к таблицам PL/SQL относят и индексные, и вложенные таблицы.
Третий тип сборных конструкций — изменяемый массив (varray). Изме­няемые массивы появились в Огас1е8, они сходны с таблицами PL/SQL способом обращения к ним. Однако изменяемые массивы объявляются с фиксированным числом элементов, в то время как для таблиц PL/SQL верхний предел не устанавливается.
В этом разделе рассматриваются способы объявления и применения сборных конструкций всех трех типов. Различия между ними и сходства представлены в конце раздела.

 









jAntivirus