Re: PL/SQL best practices ? How to go to end of loop (i.e. next record)

From: Niall Litchfield <niall.litchfield_at_gmail.com>
Date: Thu, 10 Feb 2011 16:58:32 +0000
Message-ID: <AANLkTim3ev4vZdBcbvBRSHjfnom0=dNsjfgXCmfo9v+0_at_mail.gmail.com>



Well "Best Practices" features in that article

Best practices can also be defined as the most efficient (least amount of
> effort) and effective (best results) way of accomplishing a task, based on
> repeatable procedures that have proven themselves over time for large
> numbers of people.

Although exiting a loop is a singular task so probably deserves the singular noun.

On Thu, Feb 10, 2011 at 3:59 PM, Howard Latham <howard.latham_at_gmail.com>wrote:

> Just a little thing - sorry its irritating me The Expression is Best
> Practice not Best Practices.
>
> http://en.wikipedia.org/wiki/Best_practice
>
>
>
>
> On 9 February 2011 21:45, Michael Moore <michaeljmoore_at_gmail.com> wrote:
>
>> I can think of many ways to do this but is there a definitive best
>> practice?
>> I'm sure there must be articles on this somewhere, so links as well as
>> comments are appreciated.
>>
>> BEGIN
>> for cur1 in (SELECT bla bla bla)
>> LOOP
>>
>> If something_I_dont_like then skip to next record in cur1;
>>
>> Lots and lots of code goes here.
>>
>> END LOOP;
>> END;
>>
>> Some options:
>> 1) You could set up a label and use a goto.
>> 2) You could set up an inner block and use RAISE to break out:
>>
>> 3) You could do something like :
>>
>> BEGIN
>> for cur1 in (SELECT bla bla bla)
>> LOOP
>> <<process_this_record>>
>> FOR c2 IN (SELECT * FROM DUAL) -- creates an exitable one-time
>> loop
>> LOOP
>>
>> If something then
>> exit process_this_record;
>>
>> Lots and lots of code goes here.
>>
>> END LOOP process_this_record;
>> END LOOP;
>> END;
>>
>> 4) You could just nest IF statements like:
>>
>> BEGIN
>> for cur1 in (SELECT bla bla bla)
>> LOOP
>> IF keep_processing_this_transaction THEN
>> BEGIN
>> Lots and lots of code goes here.
>> END IF;
>> END LOOP;
>> END;
>>
>> So, what is the best way?
>>
>> Regards,
>> Mike
>>
>
>
>
> --
> Howard A. Latham
>
> Sent from my Nokia N97
>
>

-- 
Niall Litchfield
Oracle DBA
http://www.orawin.info

--
http://www.freelists.org/webpage/oracle-l
Received on Thu Feb 10 2011 - 10:58:32 CST

Original text of this message