DB2 Procedures return for 循环后的结果集

DB2 Procedures return result set after for loop

我目前正在 IBM i 5 V7R1 上编写 SQL-过程。 如果我想 return 我的 for 循环后的结果集,我无法创建该过程。 这是代码:

create or replace procedure test1()
    DYNAMIC RESULT SETS 1 
    LANGUAGE SQL 
    SPECIFIC EDVVAEH1.test1 
    NOT DETERMINISTIC 
    MODIFIES SQL DATA 
    CALLED ON NULL INPUT 
    SET OPTION  ALWBLK = *ALLREAD , 
    ALWCPYDTA = *OPTIMIZE , 
    COMMIT = *NONE , 
    DECRESULT = (31, 31, 00) , 
    DFTRDBCOL = *NONE , 
    DYNDFTCOL = *NO , 
    DYNUSRPRF = *USER , 
    SRTSEQ = *HEX   
    proc: BEGIN 
    DECLARE x VARCHAR(255);
    DECLARE return_cur CURSOR with return  FOR 
        select * from sysibm.sysdummy1;
    loop1: for record as C1 cursor for 
        SELECT TABLE_NAME
        from qsys2.systables
    DO 
    SET x = record.table_name;
    END FOR loop1;
    open return_cur;
    END proc

正如选项所定义的那样,我想 return 在两个循环之后生成一个结果集,但它不允许我创建此过程。
错误是 -104 标记:"End of Statement" 无效,但一切都在那里 :(

看来我找到了问题的根本原因,但我无法解决它。 据我所知,我的 i Access 的 for 语句有问题。 我在数据库开发视图中将该语句复制到我的 RDi 9.1 并在那里 运行。我还设置了一个不同的语句结束命令,之后我就可以创建我的过程了。

现在我需要等到我公司的人可以为我提供客户端访问的 PTF。我已经尝试安装 IBM i 随附的所有 PTF,但没有任何改进......

如果有人知道在哪里可以下载用于客户端访问的 PTF,请给我提示。 IBM 站点对我来说是不可能的,因为我没有注册 IBM i。

谢谢。