Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Re: what is the SQL equivalent of 'continue' and 'break' in C ?

Re: what is the SQL equivalent of 'continue' and 'break' in C ?

From: DA Morgan <damorgan_at_psoug.org>
Date: Wed, 09 Aug 2006 11:40:14 -0700
Message-ID: <1155153308.984492@bubbleator.drizzle.com>


happyardy_at_gmail.com wrote:
> Scott 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;

>
> Scott,
> I am a little confused about if this works the way, 'continue' works in
> C language. I mean in the middle of a for loop if I have a "continue;"
> in C language, the control just goes to the top of the loop and starts
> a new iteration.
> In your code here, 'exit'' would break me out of the inner loop and the
> control would go to first statement(if any) that is outside the inner
> loop. I have a bunch of statements in my code after the inner loop.
> What I want to happen is that the control goes directly to the next
> iteration without trying to execute any of the remaining code outside
> of the inner loop..
> Your code would hold good if it is the last piece of code in my outer
> loop(for loop). That means it would be good if as soon as my inner loop
> ends, my outer loop ends too.
>
> Not saying that your code is wrong but your code will go down and
> execute my remaining statements after the inner loop though I dont want
> it to. If I wanted to do that then I wouldnt want a 'continue' like
> working, now would I ?
>
> Please let me know if I am not understanding correctly and have
> misinterpreted anything.
> thanks & regards
> - Rahul

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
Received on Wed Aug 09 2006 - 13:40:14 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US