不可重复读取和幻像如何影响 COBOL-DB2 程序的功能?

NON-REPEATABLE READ 条件发生在 COBOL-DB2 程序多次执行同一个查询,但每次查询的结果都不同时。这通常发生在两个 COBOL-DB2 程序访问 DB2 表的同一行时。

第一个程序读取该行,然后第二个程序读取同一行,更新它并提交更改。第一个程序再次读取同一行,但现在数据与之前的提取不匹配。

多次执行查询,查询结果中的行数不匹配时,就会出现PHANTOM条件。

例如,如果 PROG A 使用某些 WHERE 条件执行查询并在结果中获得 3 行。现在 PROG B 在同一个表中插入一个新行,新行属于 PROG A 使用的查询谓词。

最后,PROG A 执行相同的查询并获得总共 4 行的结果。额外的 1 行称为幻像。