使用 OF TYPE 子句为对象关系数据库创建类型表。类型表是您将已命名的 ROW 数据类型指定到目标表。
如果您使用 UNDER 子句,则 row_type 必须从 supertable 的 ROW 类型派生得到。类型层次结构必须已经存在,其中新表的已命名 ROW 类型是 supertable 的已命名 ROW 类型的子类型。
不规则行是来自表层次结构的一组行的集合,层次结构中的类型表的列数不固定。一些 API ,例如 GBase 8s ESQL/C 和 GBase 8s JDBC Driver,不支持返回 jagged 行的查询。
当创建类型表时,CREATE TABLE 不能为它的列指定名称,因为列名称在创建 ROW 类型时已经声明了。类型表的列对应于指定 ROW 类型的字段。ALTER TABLE 已经不能向类型表添加其它列。
CREATE ROW TYPE student_t (name VARCHAR(30), average REAL, birthdate DATETIME YEAR TO DAY);
CREATE TABLE students OF TYPE student_t;
name VARCHAR(30) average REAL birthdate DATETIME YEAR TO DAY
有关指定 ROW 类型的更多信息,请参阅 CREATE ROW TYPE 语句 。