未命名行类型是使用 ROW 构造函数创建的一组类型字段。命名行类型与未命名行类型之间的一项重要区别是不能对表指定未命名行类型。只能使用未命名行类型定义列或字段的类型。另外,未命名行类型只是由它的结构标识,而命名行类型由它的名称标识。行类型的结构由它的字段的数目和数据类型组成。
CREATE TABLE student ( s_name ROW(f_name VARCHAR(20), m_init CHAR(1), l_name VARCHAR(20) NOT NULL), s_address ROW(street VARCHAR(20), city VARCHAR(20), state CHAR(2), zip VARCHAR(9)) );
INSERT INTO student VALUES (ROW('Jim', 'K', 'Johnson'), ROW('10 Grove St.', 'Eldorado', 'CA', 94108))
有关如何修改对行类型定义的列的更多信息,请参阅 GBase 8s SQL 指南:教程。
ROW(a INTEGER, b CHAR(4)); ROW(x INTEGER, y CHAR(4));
有关未命名行类型的语法,请参阅 GBase 8s SQL 指南:语法。有关如何对行类型值进行强制转型的信息,请参阅创建和使用用户定义的强制转型。
当在未命名行类型的字段定义中指定了任何前述类型时,数据库服务器将返回错误。