| GBase 8s SQL 指南:教程 / 从复杂类型选择数据 | |
本节描述如何查询定义为行类型的数据。ROW 类型是一个复杂类型,包含一个或多个相关数据字段。
图: 创建 ROW 类型和表的 SQL 语法
CREATE ROW TYPE zip_t
(
z_code CHAR(5),
z_suffix CHAR(4)
)
CREATE ROW TYPE address_t
(
street VARCHAR(20),
city VARCHAR(20),
state CHAR(2),
zip zip_t
)
CREATE ROW TYPE employee_t
(
name VARCHAR(30),
address address_t,
salary INTEGER
)
CREATE TABLE employee OF TYPE employee_t
已命名的 ROW 类型 zip_t 、address_t 和 employee_t 充当类型表 employee 的字段和列的模板。类型表是在已命名 ROW 类型上定义的表。充当 employee 表的模板的 employee_t 类型将 address_t 类型用作 address 字段的数据类型。address_t 类型使用 zip_t 类型作为 zip 字段的数据类型。
图: 创建 student 表的 SQL 语法
CREATE TABLE student
(
s_name VARCHAR(30),
s_address ROW(street VARCHAR (20), city VARCHAR(20),
state CHAR(2), zip VARCHAR(9)),
grade_point_avg DECIMAL(3,2)
)