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

Gbase 8a 标识符限定词

VV_刺头王 2022-03-11
548

        GBase 8a MPP Cluster 允许名称由一个或多个标识符组成。组合名称的各个组成成分应该用英文句号字符“.”分隔开。组合名称的开始部分做为限定词来使用,它影响了上下文中后面的标识符的解释。

在 GBase 8a MPP Cluster 中,用户可以使用下列表格中的任一种方式引用一个列:

列引用

含义

col_name

列 col_name 来自查询所用的任何一个表中对应字段。

table_name.col_name 

列 col_name 来自当前数据库中的表 table_name。 

database_name.table_name.col_name

列 col_name 来自数据库 database_name 中的表table_name。 

vc_name.database_name.table_name.col_name 

列 col_name 来 自 虚 拟 集 群 vc_name 的数据库database_name 中的表 table_name。 

`column_name` 

该字段是一个关键词或包含特殊字符。

    组合标识符如果需要引用,则标识符的各部分都要各自引用,而不是把组合标识符作为一个整体来引用。例如:`gs-table`.`gs-column`合法, `gs-table.gs-column`不合法。 在 一 条 语 句 的 列 引 用 中 , 不 需 要 明 确 指 定 一 个 table_name 、database_name.table_name 或 vc_name.database_name.table_name 前缀,除非这个引用存在二义性。例如:

1)假设表 t1 和 t2 均包含一个字段 c,当用一个使用了 t1 和 t2 的 SELECT 检索 c

时,在这种情况下,字段 c 存在二义性,因为它在这个语句所使用的表不是唯一

的,因而必须通过写出 t1.c 或 t2.c 来指明用户所需的是哪个表。

2)如果从数据库db1的表t和数据库db2的表t中检索,用户必须用db1.t.col_name

和 db2.t.col_name 来指定引用哪个库表的列。

3)如果从 vc1 中数据库 db1 的表 t 和 vc2 中数据库 db2 的表 t 中检索,用户必须

用 vc1.db1.t.col_name 和 vc2.db2.t.col_name 来指定引用哪个库表的列。 



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

评论