RE: help for cursor

  • From: "Shetty, Diwakar" <diwakar.shetty@xxxxxxxxxxxxxxxxx>
  • To: "oracle-l" <oracle-l@xxxxxxxxxxxxx>
  • Date: Mon, 26 Jun 2006 13:18:28 -0400


-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx]On 
Behalf Of Nigel Thomas
Sent: Monday, June 26, 2006 11:05 AM
To:; oracle-l
Subject: Re: help for cursor

 > The procedure 'test' is compiled successfully,but the result is:
 >        categories_cur%NOTFOUND is true
 >  which indicate no records in categories_cur,who can tell me why?



Your cursor loops through all results, then after the last fetch prints the 
'not found' message; it's not doing anything with the data it does select. Add 
these lines and you'll see what I mean. NOTFOUND really means END OF FETCH...

      OPEN categories_cur(p_name);
            FETCH categories_cur INTOv_describe;
               DBMS_OUTPUT.PUT_LINE('categories_cur%NOTFOUND is true');  
[Diwakar] I guess the above IF stmnt would cause
          an infinite loop. So instead it should be 
          "EXIT WHEN categories_cur%NOTFOUND"
            END IF;   
END test;
Regards Nigel


Please access the attached hyperlink for an important electronic communications 

Other related posts: