实际使用中,存在一种由多个数据结构相同的组表构成的复组表。复组表存储时,会以不同的分表号(比如1、2)拼接上相同组表名(比如OrderInfo)的形式,共同构成名称如下的文件组:

本例中订单表1.OrderInfo.ctx和2.OrderInfo.ctx构成的复组表,分表号为1和2,它们按照年份不同分别存储了2020和2021年度的订单表数据,包括销售员ID,订单编码,签单时间以及订单金额。


那么如何用复组表定义虚表呢,下面通过示例来说明:
在打开的元数据文件demo.glmd中,点击【增加虚表】按钮
,增加一个虚表。

点击【Select】打开pseudo文件夹中的任意一个分表,比如1.OrderInfo.ctx。

此时Pseudo table name自动读取文件名:

虚表名带点号,为了避免查询时出现歧义,我们将虚表名修改为OrderInfo:

l Pseudo table name,用于设置虚表名,选择文件后,系统自动识别文件名作为虚表名,用户可自定义。
将CTX / BTX file的路径改为相对路径,并使用去除分表号的文件名作为复组表文件名:

l CTX / BTX file,用于设置虚表对应的物理表,支持组表文件和集文件。
文件路径支持相对路径和绝对路径。使用相对路径时,相对于Tool – Options – Esproc options中的Main path。
将物理表1.OrderInfo.ctx和2.OrderInfo.ctx的分表号1和2填写到Zone,即分区号列表。
点击【Edit】设置分区号列表:

点击【OK】后,分区号列表如下图:

l Use columnar storage,设置是否使用列式存储。使用列式存储可提升性能。缺省已勾选。
执行由虚表生成表后,DQL查询OrderInfo表结果如下:
