ELEMENT_TYPES
包含数组元素的数据类型描述符。当表列、复合类型属性、域、函数参数或函数返回值被定义为数组类型时,相应的information schema视图仅在data_type列中包含ARRAY。
要获取有关数组元素类型的信息,用户可以将相应的视图与此视图连接起来。例如,要显示具有数据类型和数组元素类型的表的列,如果适用,可以执行以下操作:
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;
此视图仅包括当前用户通过成为所有者或具有某些特权而可以访问的对象。
名称 | 数据类型 | 描述 |
---|---|---|
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,因为此信息不适用于Vastbase中的数组元素数据类型。 |
character_octet_length | cardinal_number | 始终为 null,因为此信息不适用于Vastbase中的数组元素数据类型。 |
character_set_catalog | sql_identifier | 适用于Vastbase中不可用的功能。 |
character_set_schema | sql_identifier | 适用于Vastbase中不可用的功能。 |
character_set_name | sql_identifier | 适用于Vastbase中不可用的功能。 |
collation_catalog | sql_identifier | 包含元素类型排序规则的数据库名称(始终为当前数据库),如果默认为 null 或元素的数据类型不可排序。 |
collation_schema | sql_identifier | 包含元素类型排序规则的模式名称,默认为 null 或元素的数据类型不可排序。 |
collation_name | sql_identifier | 元素类型的排序规则名称,默认为 null 或者元素的数据类型不可排序。 |
numeric_precision | cardinal_number | 始终为 null,因为此信息不适用于Vastbase中的数组元素数据类型。 |
numeric_precision_radix | cardinal_number | 始终为 null,因为此信息不适用于Vastbase中的数组元素数据类型。 |
numeric_scale | cardinal_number | 始终为 null,因为此信息不适用于Vastbase中的数组元素数据类型。 |
datetime_precision | cardinal_number | 始终为 null,因为此信息不适用于Vastbase中的数组元素数据类型。 |
interval_type | character_data | 始终为 null,因为此信息不适用于Vastbase中的数组元素数据类型。 |
interval_precision | cardinal_number | 始终为 null,因为此信息不适用于Vastbase中的数组元素数据类型。 |
domain_default | character_data | 尚未实现。 |
outt_catalog | sql_identifier | 定义元素数据类型的数据库的名称(始终为当前数据库)。 |
udt_schema | sql_identifier | 元素的数据类型在其中定义的模式的名称。 |
udt_name | sql_identifier | 元素的数据类型名称。 |
scope_catalog | sql_identifier | 适用于Vastbase中不可用的功能。 |
scope_schema | sql_identifier | 适用于Vastbase中不可用的功能。 |
scope_name | sql_identifier | 适用于Vastbase中不可用的功能。 |
maximum_cardinality | cardinal_number | 始终为 null,因为数组在Vastbase中始终具有无限的最大基数。 |
dtd_identifier | sql_identifier | 元素的数据类型描述符的标识符。这目前没有用。 |