Terwijl Loop in Oracle PL/SQL met voorbeeld

Wat is PL/SQL While-lus?

Herhalingslus in PL/SQL werkt vergelijkbaar met de basislusinstructie, behalve dat de EXIT-voorwaarde helemaal aan het begin van de lus staat. Het werkt als een ingangscontrolelus waarbij het uitvoeringsblok alleen wordt uitgevoerd als aan de voorwaarde is voldaan, omdat de uitgangsvoorwaarde vóór uitvoering wordt gecontroleerd.

Het vereist niet expliciet dat het sleutelwoord 'EXIT' de lus verlaat, omdat het de voorwaarde elke keer impliciet valideert.

PL/SQL While-lus-syntaxis

WHILE <EXIT condition>
 LOOP
<execution block starts>
.
.
.
<execution_block_ends>
 END LOOP;
  • In de bovenstaande syntaxis markeert het trefwoord 'WHILE' het begin van de lus en 'END LOOP' markeert het einde van de lus.
  • De EXIT-voorwaarde wordt elke keer geëvalueerd voordat het uitvoeringsgedeelte begint met uitvoeren.
  • Het uitvoeringsblok bevat alle code die moet worden uitgevoerd.
  • Het uitvoeringsgedeelte kan elke uitvoeringsinstructie bevatten.

Voorbeeld Oracle PL/SQL While-lus

In dit voorbeeld gaan we getallen van 1 tot 5 printen met behulp van de WHILE-lusinstructie. Hiervoor voeren we de volgende code uit:

PL/SQL While-lus
PL/SQL While-lusvoorbeeld
DECLARE
a NUMBER :=1;
BEGIN
dbms_output.put_line('Program started');
WHILE (a <= 5) 
LOOP
dbms_output.put_line(a);
a:=a+1;
END LOOP;
dbms_output.put_line(‘Program completed' ); 	
END:
/

Code Verklaring:

  • Coderegel 2: De variabele 'a' declareren als gegevenstype 'NUMBER' en deze initialiseren met de waarde '1'.
  • Coderegel 4: Afdrukken van de melding “Programma gestart”.
  • Coderegel 5: Het trefwoord 'WHILE' markeert het begin van de lus en controleert ook of de waarde van 'a' kleiner dan of gelijk is aan 5
  • Coderegel 7: Drukt de waarde van 'a' af.
  • Coderegel 8: Verhoogt de waarde van 'a' met +1.
  • Coderegel 9: Het trefwoord 'END LOOP' markeert het einde van het uitvoeringsblok.
  • De code van regel 7 en regel 8 zal doorgaan met uitvoeren totdat 'a' de waarde 6 bereikt, omdat de voorwaarde TRUE retourneert en de besturing de status EXIT verlaat. lus.
  • Coderegel 10: Afdrukken van de verklaring “Programma voltooid”

Samenvatting

Ringleiding Herhalingslus
EXIT-criteria Sluit af wanneer de controlevoorwaarde false retourneert
Gebruik Goed te gebruiken als het aantal lussen onbekend is en het afsluiten op een andere voorwaarde is gebaseerd.