Изменяемый массив.

Изменяемый массив, или массив с переменной длиной — это тип данных, практически идентичный массиву в языке программирования С или Java. Синтаксис:

TYPE имя_типа IS (VARRAY | VARYING ARRAY] (максималъный_размер) OF тип_элементов [NOT NULL];

где имя_типа — это имя определяемого типа изменяемого массива,

максимальный_размер — целое число, определяющее максимальное количество элементов в изменяемом массиве,

тип_элементов — скалярный тип, тип записи или объектный тип PL/SQL. Кроме того, тип элементов можно указать при помощи %TYPE, но недопустимы BOOLEAN, NCHAR, NCLOB, NVARCHAR2, REF CURSOR.

Если типом элемента является тип «Запись PL/SQL», то каждое поле записи должно быть скалярного или объектного типа.

Максимальное количество элементов в изменяемом массиве указывается при определении типа и не может изменяться динамически. Доступ к каждому элементу массива осуществляется по индексу. VARRAY-массивы можно передавать в качестве параметров. Изменяемые массивы не могут иметь «пустот», так как для них нет операции удаления произвольного числа элементов.

Пример: