如果要将现有的无类型表转换为类型表,可使用 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
表与旧表包含相同的列和数据类型,但现在提供了类型表的优点。