CREATE ROW TYPE 语句

使用 CREATE ROW TYPE 语句创建命名的 ROW 类型。

该语句是 SQL ANSI/ISO 标准的扩展。

语法

元素 描述 限制 语法
row_type 此处为已命名的新的 ROW 数据类型 请参阅 创建子类型的过程 标识符
supertype 类型继承层次结构中超类型的名称 必须已经作为已命名的 ROW 类型在数据库中存在 数据类型

用法

CREATE ROW TYPE 语句声明已命名的 ROW 数据类型并在当前系统目录中注册。可以将已命名的 ROW 数据类型分配给表或视图,以创建类型表类型视图。您也可以将列定义为命名 ROW 类型。尽管您能分配一个 ROW 类型到表来定义表模式,但是 ROW 数据类型与表行不同。表行由一个或多个构成;ROW 数据类型由一个或多个字段构成,使用 Field Definition 语法定义。

已命名的 ROW 数据类型在大多数您可指定数据类型的上下文中有效。已命名的 ROW 类型是强类型。没有两个已命名的 ROW 类型是相等的,即使它们结构上相等。

没有标识符的 ROW 类型称为 unnamed ROW 类型。任何两个未命名 ROW 类型被认为是相等的(如果它们结构上相等)。有关更多信息,请参阅 ROW 数据类型

在命名 ROW 类型列上的特权与任何其它列上的特权相同。有关更多信息,请参阅 表级权限。(要查看列上拥有的特权,请检查 syscolauth 系统目录表,该系统目录表在 GBase 8s SQL 参考指南 中有描述。)

如果您包含可选的 IF NOT EXISTS 关键字,则当指定名称的已命名的 ROW 已经在当前数据库中注册时,数据库服务器不采取操作(而非向应用程序发送异常)。

1 请参阅 字段定义