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 ?
Ubiquitous wrote:
> damorgan_at_psoug.org wrote: >> 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; >> END LOOP; >> END; > > It's been decades since I used C, but isn't the original premise flawed? > I mean, using a FOR loop structure and then short circuiting it is kinda silly to me.
If you see a FOR loop in what I wrote then I would agree with you.
-- 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 Tue Sep 04 2007 - 11:04:39 CDT
![]() |
![]() |