3
Тип массива
Массив
набор пронумерованных элементов одного и того же типа
одномерные, многомерные
Создание
использование без явного определения (имя-типа[])
неявно при создании базового типа или таблицы (_имя-типа)
Использование
элементы как скалярные значения
срезы массива
операции с массивами: сравнение, вхождение, пересечение,
конкатенация, использование с ANY и ALL вместо подзапроса, ...
Массив, как и составной тип (запись), не является скалярным и состоит
из нескольких элементов другого типа. Но, в отличие от записей, а) все
эти элементы имеют одинаковый тип и б) обращение к ним происходит
не по имени, а по целочисленному индексу (здесь индекс понимается
в математическом смысле, а не как индекс БД).
Тип массива не надо специально объявлять, достаточно добавить
квадратные скобки к имени типа элементов. (При создании любого
базового типа или таблицы автоматически создается соответствующий
тип массива. Он получает то же имя, что и тип элемента, но
с подчеркиванием впереди. Но такое имя выглядит не столь наглядно,
как квадратные скобки.)
Массив является полноценным типом SQL, его можно использовать как
любой другой тип: создавать столбцы таблиц этого типа, использовать
его для параметров функций и т. п. Элементы массива могут
использоваться как обычные скалярные значения. Можно использовать
и срезы (slice) массивов.
Массивы можно сравнивать, проверять на неопределенность,
определять вхождение элемента и находить пересечение с другими
массивами, конкатенировать и пр. Также массивы можно использовать
по аналогии с подзапросами в конструкциях ANY/SOME и ALL.
Различные функции для работы с массивами можно найти
в справочном материале, прилагаемом к курсу.