游标可用于从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,则意味着光标已到达最后一行,并且循环终止。