dbTalk Databases Forums  

Pro*C : Stored procedure in cursor

comp.databases.oracle.misc comp.databases.oracle.misc


Discuss Pro*C : Stored procedure in cursor in the comp.databases.oracle.misc forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Chris
 
Posts: n/a

Default Pro*C : Stored procedure in cursor - 09-18-2003 , 04:57 AM







Hello,

I'm trying to call a stored procedure in a cursor in Pro*C :

EXEC SQL DECLARE cur CURSOR FOR
SELECT id
FROM suivi_rejet
WHERE lib = 'MyLib';
EXEC SQL OPEN cur;
EXEC SQL FETCH cur INTO :id;

while (sqlca.sqlcode != NO_DATA_FOUND)
{
EXEC SQL FETCH cur INTO :id;
EXEC SQL EXECUTE
BEGIN
MY_PACKAGE.my_procedure(:id);
END;
END-EXEC;
}
EXEC SQL CLOSE cur;

by I get : ORA-01002 "fetch out of sequence".

I can't see where is my error. :-(

Thanks in advance for any idea.
--
Ce message a ete poste via la plateforme Web club-Internet.fr
This message has been posted by the Web platform club-Internet.fr

http://forums.club-internet.fr/

Reply With Quote
  #2  
Old   
Harald Maier
 
Posts: n/a

Default Re: Pro*C : Stored procedure in cursor - 09-18-2003 , 08:35 AM






Chris <Chris (AT) nospam (DOT) com> writes:

Quote:
Hello,

I'm trying to call a stored procedure in a cursor in Pro*C :

EXEC SQL DECLARE cur CURSOR FOR
SELECT id
FROM suivi_rejet
WHERE lib = 'MyLib';
EXEC SQL OPEN cur;
EXEC SQL FETCH cur INTO :id;

while (sqlca.sqlcode != NO_DATA_FOUND)
{
EXEC SQL FETCH cur INTO :id;
EXEC SQL EXECUTE
BEGIN
MY_PACKAGE.my_procedure(:id);
END;
END-EXEC;
}
EXEC SQL CLOSE cur;

by I get : ORA-01002 "fetch out of sequence".
I can't see where is my error. :-(
I assume that you got an NO_DATA_FOUND but although you call the
procedure. Another problem is that your first fetch is not passed to
the procedure. I would try it as follows. Seems to me more logical:

Harald

EXEC SQL DECLARE cur CURSOR FOR
SELECT id
FROM suivi_rejet
WHERE lib = 'MyLib';
EXEC SQL OPEN cur;

while (1)
{
EXEC SQL FETCH cur INTO :id;
if( sqlca.sqlcode != NO_DATA_FOUND)
break;

EXEC SQL EXECUTE
BEGIN
MY_PACKAGE.my_procedure(:id);
END;
END-EXEC;
}
EXEC SQL CLOSE cur;


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.