暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

选择行类型数据

淮海路小佩奇 2023-09-26
97


本节描述如何查询定义为行类型的数据。ROW 类型是一个复杂类型,包含一个或多个相 关数据字段。

两种 ROW 类型如下:

已命名 ROW 类型

已命名的 ROW 类型可以定义表、列、其它行类型列的字段、程序变量、语句变量以 及例程返回值。

未命名 ROW 类型

未命名 ROW 类型可以定义列、其它行类型列的字段、程序变量、语句局部变量、例 程返回值和常量。

本节中使用的示例使用已命名 ROW 类型 zip_t 、address_t 和 employee_t,这些 ROW 类 型定义 employee 表。下图显示创建 ROW 类型和表的 SQL 语法。

图: 创建 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 语法。student 表的 s_address 列定义为未命名的 ROW

类型。(s_address 列被定义为已命名的 ROW 类型。)

图: 创建 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) ) 

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论