Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> FETCHING
Hi,
I'm writing a propascal program on an ALPHA OpenVMS system that uses a cursor to step through data in a table.
The problem is that the function "getit" never exits. What am I doing wrong?
Thanks
Bob Brothers
TriQuint Texas
The main program has the following Propascal declarations:
PROGRAM test(INPUT,OUTPUT);
TYPE
EXEC SQL INCLUDE sqlda;
VAR
......
EXEC SQL BEGIN DECLARE SECTION;
product : VARYING [20] OF CHAR;
dash : INTEGER;
EXEC SQL END DECLARE SECTION;
EXEC ORACLE OPTION (ORACA=YES);
EXEC SQL INCLUDE sqlca;
EXEC SQL INCLUDE oraca;
The structure of the function is like
FUNCTION getit : INTEGER;
LABEL notfound,sqlerror;
EXEC SQL WHENEVER SQLERROR GOTO sqlerror;
EXEC SQL DECLARE C1 CURSOR FOR SELECT PRODUCT,DASH
FROM PROD_TABLE WHERE ACTIVE='YES';
EXEC SQL OPEN C1 EXEC SQL WHENEVER NOT FOUND GOTO notfound;
i := 0;
WHILE (TRUE) DO BEGIN
EXEC SQL FETCH C1 INTO :product, :dash;
i := i + 1;
WRITELN(i:5,' ',product,' ',sqlca.sqlcode);
END;
sqlerror:
EXEC SQL WHENEVER SQLERROR CONTINUE;
WRITELN('code= ',sqlca.sqlcode);
notfound:
getit := sqlca.sqlcode;
END;
Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.
Received on Wed Sep 15 1999 - 16:22:42 CDT
![]() |
![]() |