RPG嵌入式SQL - 获取和更新行

Lpp*_*Edd 0 sql db2 rpg rpgle ibm-midrange

我想fecth行并在RPG(免费)中更新它们.使用旧式操作码我会这样做:

READE %KDS(KEY) FILE;
processRecord();
UPDATE FILE;
Run Code Online (Sandbox Code Playgroud)

SQL操作码出现问题:

EXEC SQL FETCH MYCURSOR INTO :VAR;
processRecord();
????
Run Code Online (Sandbox Code Playgroud)

使用EXEC SQL UPDATE FILE... SET... WHERE KEY...返回SQLCOD错误.
有特定的技术吗?

Lpp*_*Edd 5

通过阅读"RPG IV编程",我找到了答案.

EXEC SQL DECLARE MYCURSOR CURSOR FOR *SELECT STATEMENT* FOR UPDATE OF *FIELDS*;
EXEC SQL OPEN MYCURSOR;
EXEC SQL FETCH MYCURSOS INTO :VARIABLE;
EXEC SQL UPDATE FILE SET *FIELDS* WHERE CURRENT OF MYCURSOR;
EXEC SQL CLOSE MYCURSOR;
Run Code Online (Sandbox Code Playgroud)

就是这样,非常简单!