Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> FETCHING

FETCHING

From: Brothers, Robert <rbrothers_at_tqtx.com>
Date: Wed, 15 Sep 1999 16:22:42 -0500
Message-ID: <8132C876065ED211A40200805FCBF76E7279D7@tqtxmail.tqtx.com>


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

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US