Strange cursor behavior?
Date: Mon, 23 Dec 2002 22:44:34 +0200
Message-ID: <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:
begin
***
declare
c pkg.c_type;
c_rec dual%rowtype;
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 Mon Dec 23 2002 - 21:44:34 CET