35.24. element_types#

35.24. element_types

35.24. element_types

Представление element_types содержит дескрипторы типов данных элементов массивов. Когда столбец таблицы, атрибут составного типа, домен, параметр функции или возвращаемое значение функции определены как массивный тип, соответствующее представление информационной схемы содержит только ARRAY в столбце data_type. Чтобы получить информацию о типе элемента массива, вы можете объединить соответствующее представление с этим представлением. Например, чтобы показать столбцы таблицы с типами данных и типами элементов массива, если это применимо, вы можете выполнить следующую команду:

SELECT c.column_name, c.data_type, e.data_type AS element_type
FROM information_schema.columns c LEFT JOIN information_schema.element_types e
     ON ((c.table_catalog, c.table_schema, c.table_name, 'TABLE', c.dtd_identifier)
       = (e.object_catalog, e.object_schema, e.object_name, e.object_type, e.collection_type_identifier))
WHERE c.table_schema = '...' AND c.table_name = '...'
ORDER BY c.ordinal_position;

Это представление включает только объекты, к которым текущий пользователь имеет доступ, будучи владельцем или обладая некоторыми привилегиями.

Таблица 35.22. element_types Колонки

Тип столбца

Описание

object_catalog sql_identifier

Имя базы данных, содержащей объект, использующий описываемый массив (всегда текущая база данных)

object_schema sql_identifier

Имя схемы, содержащей объект, который использует описываемый массив

object_name sql_identifier

Имя объекта, использующего описываемый массив

object_type character_data

Тип объекта, который использует описываемый массив: один из TABLE (массив используется столбцом этой таблицы), USER-DEFINED TYPE (массив используется атрибутом этого составного типа), DOMAIN (массив используется этим доменом), ROUTINE (массив используется параметром или типом возвращаемых данных этой функции).

collection_type_identifier sql_identifier

Идентификатор дескриптора типа данных массива, описываемого. Используйте его для соединения с колонками dtd_identifier других представлений информационной схемы.

data_type character_data

Тип данных элементов массива, если это встроенный тип, иначе USER-DEFINED (в этом случае тип определяется в udt_name и связанные столбцы).

character_maximum_length cardinal_number

Всегда null, так как эта информация не применяется к типам данных элементов массива в Tantor SE

character_octet_length cardinal_number

Всегда null, так как эта информация не применяется к типам данных элементов массива в Tantor SE

character_set_catalog sql_identifier

Применяется к функциональности, недоступной в Tantor SE

character_set_schema sql_identifier

Применяется к функциональности, недоступной в Tantor SE

character_set_name sql_identifier

Применяется к функциональности, недоступной в Tantor SE

collation_catalog sql_identifier

Имя базы данных, содержащей сортировку элемента типа (всегда текущая база данных), null, если используется значение по умолчанию или тип данных элемента не может быть упорядочен

collation_schema sql_identifier

Имя схемы, содержащей упорядочение элемента типа, null, если используется значение по умолчанию или тип данных элемента не может быть упорядочен

collation_name sql_identifier

Имя правила сортировки типа элемента, null, если используется значение по умолчанию или тип элемента не является сортируемым

numeric_precision cardinal_number

Всегда null, так как эта информация не применяется к типам данных элементов массива в Tantor SE

numeric_precision_radix cardinal_number

Всегда null, так как эта информация не применяется к типам данных элементов массива в Tantor SE

numeric_scale cardinal_number

Всегда null, так как эта информация не применяется к типам данных элементов массива в Tantor SE

datetime_precision cardinal_number

Всегда null, так как эта информация не применяется к типам данных элементов массива в Tantor SE

interval_type character_data

Всегда null, так как эта информация не применяется к типам данных элементов массива в Tantor SE

interval_precision cardinal_number

Всегда null, так как эта информация не применяется к типам данных элементов массива в Tantor SE

domain_default character_data

Пока не реализовано

udt_catalog sql_identifier

Имя базы данных, в которой определен тип данных элементов (всегда текущая база данных)

udt_schema sql_identifier

Имя схемы, в которой определен тип данных элементов

udt_name sql_identifier

Имя типа данных элементов

scope_catalog sql_identifier

Применяется к функциональности, недоступной в Tantor SE

scope_schema sql_identifier

Применяется к функциональности, недоступной в Tantor SE

scope_name sql_identifier

Применяется к функциональности, недоступной в Tantor SE

maximum_cardinality cardinal_number

Всегда null, потому что массивы всегда имеют неограниченную максимальную кардинальность в Tantor SE

dtd_identifier sql_identifier

Идентификатор дескриптора типа данных элемента. В настоящее время это не имеет практического значения.