Re: Strange cursor behavior?

From: Vasileios Lourdas <Vasileios.Lourdas_at_eurodyn.com>
Date: Tue, 24 Dec 2002 09:27:44 +0200
Message-ID: <3E080C70.62AB667C_at_eurodyn.com>


Hi,

Still same results (tested in 8.1.6).

Any insights?

Brian E Dick wrote:
>
> Check for "not found" after the fetch.
>
> "Vasileios Lourdas" <lourdas_at_otenet.gr> wrote in message
> news:au7slq$9id$1_at_nic.grnet.gr...
> > Hello,
> >
> > When executing this PL/SQL code snippet in Oracle 8.1.6 and Oracle 9.0.1:
> > ***
> > declare
> > c pkg.c_type;
> > c_rec dual%rowtype;
> >
> > begin
> > open c for 'select dummy from dual';
> > loop
> > exit when c%notfound;
> > fetch c into c_rec;
> > dbms_output.put_line('c is ' || c_rec.dummy);
> > end loop;
> > close c;
> > end;
> > ***
> > i get the following results:
> > ***
> > SQL> /
> > c is X
> > c is X
> >
> > PL/SQL procedure successfully completed
> >
> > SQL>
> > ***
> > c_type is a type of a ref cursor declared in a package spec pkg. However,
> > since the DUAL table has only one row, why the loop executes twice before
 it
> > ends?
> >
> > I'm sorry if i miss something obvious, but this came across today and i've
> > been thinking about it...
> >
> > Thanks,
> > Vasilis
> >
> >
Received on Tue Dec 24 2002 - 08:27:44 CET

Original text of this message