8c7f6c03

Массивы типа VARRAY


Массивы типа VARRAY потребительски во многом похожи на вложенные таблицы, но имеют и ряд существенных технических и внешних отличий. Например, они обязаны иметь ограничение на максимальное число элементов в конкретных массивах, наподобие типу VARCHAR2. Еще они не требуют для хранения данных служебной таблицы, наподобие вложенной таблицы. Есть и другие отличия. Фирма Oracle советует использовать вложенные таблицы, если нужно хранить неупорядоченные списки и VARRAY, если нужно хранить упорядоченные.

Пример использования для группировки сотрудников коллекции VARRAY может выглядеть так:

CREATE TYPE employee_vlist_typ AS VARRAY(20) OF employee_typ

/

CREATE TABLE department1 (

dname             VARCHAR2(15),

        emps              employee_vlist_typ

        );

Этим типом мы запретили отделам иметь более 20-и сотрудников.

Добавление нового отдела делается как и для вложенных таблиц:

INSERT INTO department1 VALUES (

    'Operations',

    employee_vlist_typ (

       employee_typ ('Scott', 'Manager'),

       employee_typ ('Smith', 'Salesman')

       )

    );

Приведенный выше код на PL/SQL для массива сотрудников VARRAY проработает так же.



Содержание раздела