继承和命名 ROW 类型

已命名的 ROW 类型属于继承层次结构,作为子类型或超类型。使用 CREATE ROW TYPE 语句中的 UNDER 子句将已命名的 ROW 数据类型作为现有的 ROW 数据类型的子类型创建。

超类型必须也是已命名的 ROW 数据类型。如果在现有的超类型下创建已命名的 ROW 数据类型,那么新的类型名称 row_type 称为子类型的名称。

当将命名 ROW 类型创建为子类型时,子类型继承超类型的所有字段。另外,当创建此子类型时,您可以向其添加新的字段。新的字段单独特定于子类型。

不能将继承层次结构中的 ROW 类型替换其超类型或子类型。例如,考虑 person_t 是超类型且 employee_t 是子类型的类型层次结构。如果列是类型 person_t ,则该列仅能包含 person_t 数据。它不能包含 employee_t 数据。同样地,如果列是类型 employee_t ,则列仅能包含 employee_t 数据。它不能包含 person_t 数据。