Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.misc -> Re: what is the SQL equivalent of 'continue' and 'break' in C ?
happyardy_at_gmail.com wrote:
> DA Morgan wrote: >> happyardy_at_gmail.com wrote:
>>>> happyardy_at_gmail.com wrote: >>>>> what is the SQL equivalent of 'continue' and 'break' in C ? >>>>> >>>>> like can I do this... >>>>> >>>>> >>>>> for counter in 1..10 >>>>> if(something something) >>>>> ( if (something) >>>>> ( if(something) >>>>> then continue; >>>>> >>>>> //Rest of the for loop >>>>> >>>>> end loop; >>>>> >>>>> Would it start the next iteration without processing the rest of the >>>>> loop ? >>>>> >>>>> thanks >>>>> - Ardy >>>> If I understand the question, something like this in PL/SQL >>>> >>>> loop >>>> >>>> loop >>>> if something >>>> then >>>> exit; -- continue, i.e. go on with the rest of the main loop >>>> end if; >>>> >>>> end loop; >>>> >>>> if something_else >>>> then >>>> exit; -- break, i.e. get out of the main loop >>>> end if; >>>> -- rest of the for loop >>>> >>>> end loop;
>>>
>>>
>> If you want GOTO capability in Oracle use a label. >> >> http://download-west.oracle.com/docs/cd/B19306_01/appdev.102/b14261/goto_statement.htm#LNPLS01323 >> >> I don't have any demos in the library that I can recall as I >> find them rather inelegant. >> -- >> Daniel A. Morgan >> University of Washington >> damorgan_at_x.washington.edu >> (replace x with u to respond) >> Puget Sound Oracle Users Group >> www.psoug.org > > Daniel, > I try to stay away from GOTO. GOTOs are not evils and are helpful > sometimes but still I dont like to use them. I avoid them as much as > possible. > I was trying to find out if SQL has any keyword that is equivalent of > 'continue' in C. C has GOTO too and I have always wanted to avoid that. > thanks > - Ardy
In answer to your question ... no there isn't. But also in your situation there is no functional difference between the two.
Another option would be this though I don't like it much either:
DECLARE
break EXCEPTION;
BEGIN
LOOP
BEGIN <your code here> RAISE break; <the rest of your code here> EXCEPTION WHEN break THEN NULL; END;
-- Daniel A. Morgan University of Washington damorgan_at_x.washington.edu (replace x with u to respond) Puget Sound Oracle Users Group www.psoug.orgReceived on Thu Aug 10 2006 - 10:52:58 CDT