Oracle PL/SQL FOR LOOP mit Beispiel

Was ist eine For-Schleife?

Die „FOR LOOP“-Anweisung eignet sich am besten, wenn Sie einen Code für eine bestimmte Anzahl von Malen ausführen möchten, anstatt auf anderen Bedingungen zu basieren.

In dieser Schleife werden die Untergrenze und die Obergrenze angegeben und solange die Schleifenvariable innerhalb dieses Bereichs liegt, wird die Schleife ausgeführt.

Die Schleifenvariable ist selbstinkrementell, sodass in dieser Schleife keine explizite Inkrementierungsoperation erforderlich ist. Die Schleifenvariable muss nicht deklariert werden, da sie implizit deklariert wird.

FOR <loop_variable> in <lower_limit> .. <higher_limit> 
LOOP
<execution block starts>
.
.
.
<execution_block_ends>
 END LOOP;

Syntaxerklärung:

  • In der obigen Syntax markiert das Schlüsselwort „FOR“ den Anfang der Schleife und „END LOOP“ das Ende der Schleife.
  • Die Schleifenvariable wird jedes Mal ausgewertet, bevor der Ausführungsteil ausgeführt wird.
  • Der Ausführungsblock enthält den gesamten Code, der ausgeführt werden muss. Der Ausführungsteil kann eine beliebige Ausführungsanweisung enthalten.
  • Die Schleifenvariable wird implizit während der Ausführung der gesamten Schleife deklariert und der Gültigkeitsbereich dieser Schleifenvariablen liegt nur innerhalb dieser Schleife.
  • Wenn die Schleifenvariable außerhalb des Bereichs liegt, verlässt die Steuerung die Schleife.
  • Die Schleife kann in umgekehrter Reihenfolge ausgeführt werden, indem das Schlüsselwort „REVERSE“ vor „lower_limit“ hinzugefügt wird.

Beispiel 1: In diesem Beispiel werden wir Zahlen von 1 bis 5 mithilfe der FOR-Schleifenanweisung ausgeben. Dazu führen wir Folgendes auswing Code.

Oracle PL/SQL FOR-SCHLEIFE

BEGIN
dbms Qutput.put linef.Prp.gram started.' );
FOR a IN 1 .. 5
LOOP
dbms_output.put_line(a);
END LOOP:
dbms_output.put_iine('Program completed.'); 
END;
/

Code-Erklärung:

  • Codezeile 2: Ausdruck der Aussage „Programm gestartet“.
  • Codezeile 3: Das Schlüsselwort „FOR“ markiert den Anfang der Schleife und die Schleifenvariable „a“ wird deklariert. Der Wert liegt jetzt zwischen 1 und 5
  • Codezeile 5: Gibt den Wert von 'a' aus.
  • Codezeile 6: Das Schlüsselwort „END LOOP“ markiert das Ende des Ausführungsblocks.
  • Der Code aus Zeile 5 wird so lange ausgeführt, bis „a“ den Wert 6 erreicht, da die Bedingung fehlschlägt und die Steuerung die Schleife verlässt.
  • Codezeile 7: Ausdrucken der Aussage „Programm abgeschlossen“

Verschachtelte Schleifen

Die Schleifenanweisungen können auch verschachtelt sein. Die äußere und innere Schleife können unterschiedlicher Art sein. In der verschachtelten Schleife wird für jeden Iterationswert der äußeren Schleife die innere Schleife vollständig ausgeführt.

Verschachtelte Schleifen

LOOP -outer
<execution block starts>
LOOP — inner
<execution_part> 
END LOOP; 
<execution_block_ends> 
END LOOP;

Syntaxerklärung:

  • In der obigen Syntax enthält die äußere Schleife eine weitere Schleife.
  • Die Schleifen können von beliebigem Typ sein und die Ausführungsfunktionalität ist identisch.

Beispiel 1: In diesem Beispiel werden wir Zahlen von 1 bis 3 mithilfe der FOR-Schleifenanweisung ausgeben. Jede Zahl wird so oft gedruckt, wie ihr Wert entspricht. Dazu führen wir Folgendes auswing Code.

Verschachtelte Schleifen

Verschachtelte Schleifen

DECLARE 
b NUMBER;
BEGIN
dbms output put line(‘Program started' );
FOR a IN 1..3 
LOOP
b:=1;
WHILE (a>=b)
LOOP
dbms output put line(a);
b:=b+1;
END LOOP;‭	
END LOOP;‭	‬
dbms_output.put_line('Program completed' );
END;
/

Code-Erklärung:

  • Codezeile 2: Deklaration der Variablen „b“ als Datentyp „NUMBER“.
  • Codezeile 4: Ausdruck der Aussage „Programm gestartet“.
  • Codezeile 5: Das Schlüsselwort „FOR“ markiert den Anfang der Schleife und die Schleifenvariable „a“ wird deklariert. Der Wert liegt jetzt zwischen 1 und 3
  • Codezeile 7: Der Wert von „b“ wird jedes Mal auf „1“ zurückgesetzt.
  • Codezeile 8: Innere while-Schleife prüft auf die Bedingung a>=b.
  • Codezeile 10: Gibt den Wert von „a“ aus, solange die obige Bedingung erfüllt ist.
  • Codezeile 14: Ausdrucken der Aussage „Programm abgeschlossen“

Zusammenfassung

Loop FOR-Schleife
Abbruchkriterium Verlassen Sie den Vorgang, wenn der Zähler das Limit erreicht
Anwendungsbereich Gut zu verwenden, wenn die Anzahl der auszuführenden Schleifen bekannt ist.