将无类型表转换为类型表

如果要将现有的无类型表转换为类型表,可使用 ALTER TABLE 语句。例如:考虑以下无类型表:
CREATE TABLE manager
(
      name     VARCHAR(30),
      department  VARCHAR(20),
      salary   INTEGER
);
要将无类型表转换为类型表,命名行类型的字段名和字段类型都必须与现有表的列名和列类型相匹配。例如:要让 manager 表成为类型表,首先必须创建与表的列定义相匹配的命名行类型。以下语句创建 manager_t 类型,该类型包含与 manager 表的列相匹配的字段名和字段类型:
CREATE ROW TYPE manager_t
(
      name     VARCHAR(30),
      department  VARCHAR(20),
      salary   INTEGER
);
在创建要对现有无类型表指定的命名行类型之后,请使用 ALTER TABLE 语句来对表指定该类型。以下语句变更 manager 表并使其成为具有 manager_t 类型的类型表:
ALTER TABLE manager ADD TYPE manager_t

新的 manager 表与旧表包含相同的列和数据类型,但现在提供了类型表的优点。