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

GBase 8s SQL 指南:教程_4 从复杂类型选择数据_4.1 选择行类型数据(1)

GBASE数据库 2021-12-16
355

4 从复杂类型选择数据
本章描述如何查询复杂数据类型。复杂数据类型是使用 SQL 类型构造函数从其他数据类
型的组合构建的。SQL 语句可以访问复杂数据类型中的个别组件。复杂数据类型是行类型
或集合类型。
ROW 类型具有组合一个或多个相关数据字段的实例。这两种 ROW 类型是已命名和未命
名。
集合类型具有这样的实例:在其中,每种集合值包含具有相同数据类型的一组元素,这些
数据类型可以是任何基本或复杂数据类型。集合可以由 LIST 、SET 或 MULTISET 数据
类型组成。
重要: 对于复杂数据类型没有跨数据库的支持。只能在本地数据库中对它们进行操作。
有关数据库服务器支持的数据类型的更完整描述,请参阅《GBase 8s SQL 参考指南》中的
数据类型一章。
有关如何创建使用复杂类型的信息,请参阅《GBase 8s SQL 参考指南》和《GBase 8s SQL
指南:语法》 。
4.1 选择行类型数据
本节描述如何查询定义为行类型的数据。ROW 类型是一个复杂类型,包含一个或多个相
关数据字段。
两种 ROW 类型如下:
已命名 ROW 类型
已命名的 ROW 类型可以定义表、列、其它行类型列的字段、程序变量、语句变量以
及例程返回值。
未命名 ROW 类型
未命名 ROW 类型可以定义列、其它行类型列的字段、程序变量、语句局部变量、例
程返回值和常量。
本节中使用的示例使用已命名 ROW 类型 zip_t 、address_t 和 employee_t,这些 ROW 类
型定义 employee 表。下图显示创建 ROW 类型和表的 SQL 语法。
图: 创建 ROW 类型和表的 SQL 语法



已命名的 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 语法


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

评论