命名行类型

命名行类型是在单个名称下定义的一组字段。字段指的是行类型的组件,不应将其与列混淆,列只与表相关联。命名行类型的字段与 C 语言结构的字段或面向对象编程中的类的成员相似。在创建命名行类型之后,对行类型指定的名称表示数据库中的唯一类型。要创建命名行类型,请指定行类型的名称并指定其组成字段的名称和数据类型。以下示例显示可以如何创建名为 person_t 的命名行类型:
CREATE ROW TYPE person_t
(
      name     VARCHAR(30) NOT NULL,
      address  VARCHAR(20),
      city    VARCHAR(20),
      state   CHAR(2),
      zip      VARCHAR(9),
      bdate    DATE
);
person_t 行类型包含 6 个字段:nameaddresscitystatezipbdate。创建命名行类型后,可以象使用任何其他数据类型那样使用它。person_t 可以出现在任何可以使用任何其他数据类型的位置。以下 CREATE TABLE 语句使用 person_t 数据类型:
CREATE TABLE sport_club
(
      sport     CHAR(20),
      sportnum  INT,
      member    person_t,
      since     DATE,
      paidup    BOOLEAN
)

可以使用大多数数据类型来定义行类型的字段。有关在行类型中不受支持的数据类型的信息,请参阅对命名行类型的限制

有关用来创建命名行类型的语法,请参阅 GBase 8s SQL 指南:语法 中的 CREATE ROW TYPE 语句。有关如何对行类型值进行强制转型的信息,请参阅创建和使用用户定义的强制转型