如果数据库的记录布局包含多个记录数组,则这些数组可全部映射到单个表中,条件是它们未定义为 COBOL OCCURS DEPENDING ON 子句。应对要映射的每个记录数组创建一个表。
结果集中的单个记录将成为在单个表定义中映射多个记录数组的笛卡尔乘积。映射多个数组之前,一定要了解多个数组对结果集的影响。
01 EMPLOYEE-RECORD. ... 05 DEPENDENTS-ARRAY OCCURS 20 TIMES. ... 05 HOBBIES-ARRAY OCCURS 5 TIMES PIC X(10).
如果使用 Classic Data Architect COBOL 草稿导入设施为此记录布局创建表定义,则在缺省情况下,该设施会同时将 DEPENDENTS-ARRAY 和 HOBBIES-ARRAY 映射到同一个表中。
如果同时将 DEPENDENTS-ARRAY 和 HOBBIES-ARRAY 映射到同一个表中,单个记录的结果集将成为 DEPENDENTS-ARRAY 和 HOBBIES-ARRAY 的笛卡尔乘积并且包含 100 行。
如果同时需要两个数组中的信息,则应创建两个表,并且在每个表中包括其中一个数组。