a PL/SQL question - how to catch errors without going into except

2002-04-04 Thread Andrey Bronfin

Dear gurus !
I'm wondering whtether i can catch an SQL error (from inside a PL/SQL proc)
without jumping to the EXCEPTION block
OR
is there a way to jump back to the body of the proc from the EXCEPTION block
(i know that GOTO can not do it).

For example , assume i have users with IDs 1,2,5,6 in my table and i want to
do some loop like this

i := 1;
while i  10 loop
  select the_name from the_table into myvar where the_id = 1;
end loop;
.

I will be thrown to the EXCEPTION block as soon as i becomes 3.
And i can never go back to the loop from the EXCEPTION block , in order to
continue looping  ;-(
So , can i just tell PL/SQL something like never mind if U fail (i.e. an
exception is thrown) , just go to the next iteration ...

I'm wondering if there is something similar to PERL's 
 next if .

Thanks a lot
Andre





-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Andrey Bronfin
  INET: [EMAIL PROTECTED]

Fat City Network Services-- (858) 538-5051  FAX: (858) 538-5051
San Diego, California-- Public Internet access / Mailing Lists

To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).



Re: a PL/SQL question - how to catch errors without going into except

2002-04-04 Thread Big Planet

many ways to do that ,
  you can put begin .. end block around select .. inside while condition

   i := 1;
   while i  10 loop
  Begin
   select the_name from the_table into myvar where the_id = 1;
 Exception
 when no data found then
 null;
 End ;
  end loop;


   or use a group function ...


 i := 1;
 while i  10 loop
   select min(the_name) from the_table into myvar where the_id = 1;
 end loop;


Bp


- Original Message -
To: Multiple recipients of list ORACLE-L [EMAIL PROTECTED]
Sent: Thursday, April 04, 2002 10:43 AM


 Dear gurus !
 I'm wondering whtether i can catch an SQL error (from inside a PL/SQL
proc)
 without jumping to the EXCEPTION block
 OR
 is there a way to jump back to the body of the proc from the EXCEPTION
block
 (i know that GOTO can not do it).

 For example , assume i have users with IDs 1,2,5,6 in my table and i want
to
 do some loop like this

 i := 1;
 while i  10 loop
   select the_name from the_table into myvar where the_id = 1;
 end loop;
 .

 I will be thrown to the EXCEPTION block as soon as i becomes 3.
 And i can never go back to the loop from the EXCEPTION block , in order to
 continue looping  ;-(
 So , can i just tell PL/SQL something like never mind if U fail (i.e. an
 exception is thrown) , just go to the next iteration ...

 I'm wondering if there is something similar to PERL's
  next if .

 Thanks a lot
 Andre





 --
 Please see the official ORACLE-L FAQ: http://www.orafaq.com
 --
 Author: Andrey Bronfin
   INET: [EMAIL PROTECTED]

 Fat City Network Services-- (858) 538-5051  FAX: (858) 538-5051
 San Diego, California-- Public Internet access / Mailing Lists
 
 To REMOVE yourself from this mailing list, send an E-Mail message
 to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
 the message BODY, include a line containing: UNSUB ORACLE-L
 (or the name of mailing list you want to be removed from).  You may
 also send the HELP command for other information (like subscribing).

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Big Planet
  INET: [EMAIL PROTECTED]

Fat City Network Services-- (858) 538-5051  FAX: (858) 538-5051
San Diego, California-- Public Internet access / Mailing Lists

To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).