不可重复读取和幻像如何影响 COBOL-DB2 程序的功能?
NON-REPEATABLEREAD条件发生在COBOL-DB2程序多次执行同一个查询,但每次查询的结果都不同时。这通常发生在两个COBOL-DB2程序访问DB2表的同一行时。
第一个程序读取该行,然后第二个程序读取同一行,更新它并提交更改。第一个程序再次读取同一行,但现在数据与之前的提取不匹配。
多次执行查询,查询结果中的行数不匹配时,就会出现PHANTOM条件。
例如,如果PROGA使用某些WHERE条件执行查询并在结果中获得3行。现在PROGB在同一个表中插入一个新行,新行属于PROGA使用的查询谓词。
最后,PROGA执行相同的查询并获得总共4行的结果。额外的1行称为幻像。