Varrays Oracle PL/SQL

В этом учебном материале вы узнаете, как использовать Varrays в Oracle PL/SQL с синтаксисом и примерами.

Описание

В Oracle PL/SQL Varray (массив с переменным размером) — это массив, число элементов которого может варьироваться от нуля (пусто) до объявленного максимального размера.
Чтобы получить доступ к элементу переменной Varray, используйте синтаксис variable_name(index).
Нижняя граница index равна 1; верхняя граница — это текущее количество элементов.
Верхняя граница изменяется при добавлении или удалении элементов, но она не может превышать максимальный размер.
Когда вы храните и извлекаете varray из базы данных, его индексы и порядок элементов остаются стабильными.

Синтаксис

Синтаксис для определения, а затем объявление переменной типа Varrays в Oracle PL/SQL.

TYPE type_varray IS {VARRAY | VARYING ARRAY} (size_limit) OF element_type [NOT NULL];
v_arr type_varray;

Параметры или аргументы

type_varray – имя типа Varray
element_type — любой тип данных PL/SQL, за исключением REF CURSOR
size_limit — это положительный целочисленный литерал, представляющий максимальное количество элементов в массиве.
v_arr — имя переменной типа Varray

Примечание

  • При определении типа Varray вы должны указать его максимальный размер.

Пример

Рассмотрим на примере как использовать Varray в Oracle PL/SQL.

В этом примере мы определили Foursome как локальный тип Varray, объявили переменную team этого типа (инициализировали его конструктором) и определили процедуру print_team, которая напечатала Varray. Пример вызывает процедуру три раза:

  • после инициализации переменной,
  • после изменения значений двух элементов по отдельности,
  • и после использования конструктора для изменения значения всех элементов.

Использование Varray

Varray целесообразно использовать, когда:

  • Вы знаете максимальное количество элементов.
  • Вы получаете доступ к элементам последовательно.
  • Поскольку вы должны хранить или извлекать все элементы одновременно, Varray может оказаться непрактичным для большого количества элементов.