如何将记录从 oracle 移动到 Cobol 数组? 当我移动一个字段时,一切都会按预期进行。 当我尝试移动 Oracle VARRAY 中的记录时,我不能 让它发挥作用。 PRO*COBOL 预编译器给出以下错误消息:
Error at line 137, column 12 in file ESF3.ordbso07.PCO
EXEC SQL EXECUTE
...........1
PCB-S-00576, PLS-382: expression is of wrong type
Error at line 137, column 12 in file ESF3.ordbso07.PCO
EXEC SQL EXECUTE
...........1
PCB-S-00576, PLS-0: Statement ignored
预言机类型:
TYPE QDELSSRD_arr IS VARRAY(30) OF QDELSSRD_typ;
TYPE SODLSSRD_typ IS RECORD ( -- DBSO07 SOK
QDELSSRD QDELSSRD_arr -- 30 x QDELSSRD_typ
OC is SODLSSRD_typ;
TYPE QDELSSRD_typ IS RECORD (
ENAMN arbetssokande.efternamn%type, -- VARCHAR2(30 CHAR)
FNAMN arbetssokande.fornamn%type, -- VARCHAR2(20 CHAR)
);
COBOL ESQL 匿名 PL/SQL block 的片段:
FOR LV IN 1..:RC-ZHITS
LOOP
:QDELSSRD(LV) := OC.QDELSSRD(LV);
END LOOP;
COBOL 变量声明:
15 QSODLSSRD.
18 QDELSSRD OCCURS 30.
21 ENAMN PIC X(030).
21 FNAMN PIC X(020).
最佳答案
我认为你需要使用 VARYING...例如:
18 QDELSSRD VARYING OCCURS 20 TIMES.
21 ENAMN PIC X(030).
21 FNAMN PIC X(020).
http://www.pitt.edu/~hoffman/oradoc/server.804/a58232/ch04.htm
关于oracle - 将记录从 Oracle 数组移动到 Cobol,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8209408/