您将如何在COBOL-DB2程序中检测游标行结尾的条件?

游标可用于从DB2表中获取多行。但是,我们必须循环获取此游标,以便一次将与单行相对应的值分配给主机变量。基于此逻辑,我们必须处理循环,直到光标到达最后一行结果为止。

当游标中没有剩余的行要提取时,SQLCODE字段的值为100。实际上,我们可以通过以下方式实现此目的。

SET WF-END-CURSOR-N TO TRUE
PERFORM UNTIL WF-END-CURSOR-Y
   EXEC SQL
      FETCH ORDER_CUR INTO :ORDER-ID
   END-EXEC
   IF SQLCODE = 100
      SET WF-END-CURSOR-Y TO TRUE
   ELSE
      PERFORM A20-PROCESS-RECORD
   END-IF
END-PERFORM

WF-END-CURSOR-Y和WF-END-CURSOR-N是88级的两个标志,用于控制循环。一旦SQLCODE的值为100,则意味着光标已到达最后一行,并且循环终止。

猜你喜欢