使用 CREATE ROW TYPE 语句创建命名的 ROW 类型。
该语句是 SQL ANSI/ISO 标准的扩展。
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 已经在当前数据库中注册时,数据库服务器不采取操作(而非向应用程序发送异常)。