Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

How to exit from a loop on 2 different conditions

680651Feb 28 2009 — edited Feb 28 2009
Hello Experts

I’m trying to write a procedure in which I’m taking PROVINCE as an input parameter. All the provinces are stores in a table. I’m using a cursor and rowtype variable to check the province. After I finds province I displays province and its code. Everything works fine expect when I don’t find the province. I’m not sure how to exit from loop if I don’t find the province. I already uses exit when condition. I was expecting else condition should work and should exit from the loop but it doesn’t. Can please somebody show me how to exit if I don’t find province in the table through cursor.

Here is my code

set serveroutput on
variable G_TAX varchar2(10)
CREATE OR REPLACE PROCEDURE p_create(i_state VARCHAR2)is
CURSOR cur_bb_tax is
select * from bb_tax;
bb_tax_details bb_tax%rowtype;
begin
if not cur_bb_tax%isopen then
open cur_bb_tax;
end if;
loop
fetch cur_bb_tax into bb_tax_details;
if (bb_tax_details.state = i_state) then
dbms_output.put_line(bb_tax_details.state || bb_tax_details.idstate);
end if;
exit when bb_tax_details.state = i_state;
end loop;
close cur_bb_tax;

exception
when others then
dbms_output.put_line(SQLERRM);
end;

Thanks in advance
This post has been answered by sgalaxy on Feb 28 2009
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Mar 28 2009
Added on Feb 28 2009
3 comments
462 views