在 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,即表示光标已达到最后一行,循环便终止。

更新于: 14-Sep-2020

1K+ 浏览量

开启 职业 生涯

完成课程获取认证

开始学习
广告