DB2 COBOL 程序中常使用了CURSOR 这一概念,翻译过来就是指针。这个指针式DB2中所特有的指针概念和其他语言中JAVA C 都不一样。
它主要的的作用为按行从SELECT 取出的数据赋予到宿主变量中。
使用过程
1. 声明指针 可以在WORKING -STORAGE 或者PROCEDURE DIVISION 中声明
如下
EXEC SQL
DECLASE SAMPL1 CURSOR FOR
SELECT NAME,AGE,SEX FROM ALL.TABLE
WHERE CLASS = A
END-EXEC
2. OPEN CURSOR
这个是需要在PROCEDURE DIVISION 中去定义
3. FETCH CURSOR
这个就是用指针抓取一行数据出来到宿主变量中
如
EXEC SQL
FETCH SAMPLE1 INTO :FNAME,:FAGE,:FSEX
END-EXEC
4.CLOSE CURSOR
最后close cursor
在PROCEDURE DIVISION 中使用
EXEC SQL
CLOSE SAMPLE1
END-EXEC