ALL_TYPE_ATTRS视图提供了数据库中所有对象类型的属性信息。
简介
all_type_attrs
是PolarDB PostgreSQL版(兼容Oracle)中的一个数据字典视图。该视图提供了数据库中所有对象类型的属性信息。所谓对象类型,是指用户自定义的数据类型,这些类型可以像内置的数据类型一样用来定义表的列或者函数和过程的参数和返回值。对象类型可以包含属性(相当于字段)和方法(相当于函数或过程)。all_type_attrs
视图中的每一行都代表了某个对象类型的一个属性。对于数据库中的每个对象类型的每个属性,都有相应的记录。该视图对于理解和管理数据库中的对象类型及其组成是非常有用的,特别是在设计和维护复杂的数据结构时。
相应的dba_type_attrs
视图提供完全相同的信息,但只会提供给高权限用户使用。 而user_type_attrs
视图提供完全相同的信息,但是只会展示当前用户拥有的对象。
在PolarDB数据库中,all_type_attrs
视图包含以下的列信息:
列名称 | 类型 | 描述 |
OWNER | character varying(128) | 对象类型的拥有者。 |
TYPE_NAME | character varying(128) | 对象类型的名字。 |
ATTR_NAME | character varying(128) | 属性的名字。 |
ATTR_TYPE_MOD | character varying(128) | 属性类型的修饰词。例如,REF。 |
ATTR_TYPE_OWNER | character varying(128) | 属性数据类型的所有者。 |
ATTR_TYPE_NAME | character varying(128) | 属性的数据类型名。 |
LENGTH | text | 属性的长度。 |
PRECISION | integer | 数字属性的精度。 |
SCALE | integer | 数字属性的刻度。 |
CHARACTER_SET_NAME | character varying(44) | 字符属性的字符集名称。 |
ATTR_NO | numeric | 属性的序号。 |
INHERITED | character varying(2) | 表示属性是否是从父类型继承的。 |
如果您创建了一个名为PERSON_TYP
的对象类型,其中包含一个名为FIRST_NAME
的属性和另一个名为LAST_NAME
的属性,ALL_TYPE_ATTRS
视图就会有相应的记录,其中包含这两个属性的详细信息。
通过查询该视图,数据库管理员或开发者可以了解到对象类型的结构细节,这对于编写基于这些自定义类型的应用程序代码或进行数据库设计都是必要的。如果您想要查看自己拥有的对象类型的属性,您可以使用USER_TYPE_ATTRS
视图。