如果对每个数组创建一个单独的表,那么联合查询可以读取记录数组数据。通过使列结构变成平面结构,可以插入、更新、删除和捕获对记录数组数据所作的更改。
记录数组定义包含列定义,并且可能包含其他记录数组定义。要读取、处理或捕获对记录数组数据所作的更改,需要创建必需的表或列结构。
要查询记录数组数据,在数据定义中对每个记录数组映射一个单独的表。要插入、更新或删除数组数据,在“新建表”向导中映射表时,通过选择数组处理选项展开出现来使数组结构变成平面结构。
平面结构对每个数组实例和字段提供一个单独的列。例如,映射包含五个字段的职员家属记录数组:
如果要支持多达十个家属,那么必须映射 50 列并且列名唯一地标识每个实例和字段。在此示例中,列名的范围从 DEP_LAST_NAME_1 到 DEP_DOB_10。
更改捕获
使表结构变成平面结构以捕获对数组数据所作的更改。
不能映射用于更改捕获的记录数组定义。如果一个表包含映射为数组的数组结构,那么对该表执行 ALTER TABLE 语句将失败,这是因为更改捕获必须对每个更改发送一个通知。映射必须对每个物理记录正好返回一行,以便为消费应用程序提供准确的通知。