PL / SQL - Schleifen

In diesem Kapitel werden wir Schleifen in PL / SQL behandeln. Es kann vorkommen, dass Sie einen Codeblock mehrmals ausführen müssen. Im Allgemeinen werden Anweisungen nacheinander ausgeführt: Die erste Anweisung in einer Funktion wird zuerst ausgeführt, gefolgt von der zweiten usw.

Programmiersprachen bieten verschiedene Steuerungsstrukturen, die kompliziertere Ausführungspfade ermöglichen.

Mit einer Schleifenanweisung können wir eine Anweisung oder eine Gruppe von Anweisungen mehrmals ausführen. Im Folgenden wird die allgemeine Form einer Schleifenanweisung in den meisten Programmiersprachen beschrieben:

PL / SQL bietet die folgenden Schleifentypen, um die Schleifenanforderungen zu erfüllen. Klicken Sie auf die folgenden Links, um deren Details zu überprüfen.

S.No. Schleifentyp & Beschreibung
1 PL / SQL Basic LOOP

In dieser Schleifenstruktur ist eine Folge von Anweisungen zwischen den Anweisungen LOOP und END LOOP eingeschlossen. Bei jeder Iteration wird die Folge von Anweisungen ausgeführt, und die Steuerung wird am oberen Rand der Schleife fortgesetzt.

2 PL / SQL WHILE LOOP

Wiederholt eine Anweisung oder eine Gruppe von Anweisungen, während eine bestimmte Bedingung erfüllt ist. Es testet die Bedingung, bevor der Schleifenkörper ausgeführt wird.

3 PL / SQL FOR LOOP

Führen Sie eine Folge von Anweisungen mehrmals aus und kürzen Sie den Code ab, der die Schleifenvariable verwaltet.

4 Verschachtelte Schleifen in PL / SQL

Sie können eine oder mehrere Schleifen in jeder anderen Basisschleife verwenden, while oder for loop.

Beschriften einer PL / SQL-Schleife

PL / SQL-Schleifen können beschriftet werden. Die Beschriftung sollte in doppelte spitze Klammern (<< und >>) eingeschlossen sein und am Anfang der LOOP-Anweisung erscheinen. Der Labelname kann auch am Ende der LOOP-Anweisung erscheinen. Sie können die Bezeichnung in der EXIT-Anweisung verwenden, um die Schleife zu verlassen.

Das folgende Programm veranschaulicht das Konzept -

DECLARE 
   i number(1); 
   j number(1); 
BEGIN 
   << outer_loop >> 
   FOR i IN 1..3 LOOP 
      << inner_loop >> 
      FOR j IN 1..3 LOOP 
         dbms_output.put_line('i is: '|| i || ' and j is: ' || j); 
      END loop inner_loop; 
   END loop outer_loop; 
END; 
/

Wenn der obige Code an der SQL-Eingabeaufforderung ausgeführt wird, wird das folgende Ergebnis ausgegeben:

i is: 1 and j is: 1 
i is: 1 and j is: 2 
i is: 1 and j is: 3 
i is: 2 and j is: 1 
i is: 2 and j is: 2 
i is: 2 and j is: 3 
i is: 3 and j is: 1 
i is: 3 and j is: 2 
i is: 3 and j is: 3  

PL/SQL procedure successfully completed.

Die Schleifensteuerungsanweisungen

Schleifensteueranweisungen ändern die Ausführung von ihrer normalen Reihenfolge. Wenn die Ausführung einen Bereich verlässt, werden alle automatischen Objekte, die in diesem Bereich erstellt wurden, zerstört.

PL / SQL unterstützt die folgenden Steueranweisungen. Beschriftungsschleifen helfen auch dabei, die Steuerung außerhalb einer Schleife zu übernehmen. Klicken Sie auf die folgenden Links, um deren Details zu überprüfen.

S.No. Steueranweisung & Beschreibung
1 EXIT-Anweisung

Die Exit-Anweisung vervollständigt die Schleife und die Steuerung wird unmittelbar nach der END LOOP an die Anweisung übergeben.

2 CONTINUE-Anweisung

Bewirkt, dass die Schleife den Rest ihres Körpers überspringt und ihren Zustand sofort erneut testet, bevor sie wiederholt wird.

3 GOTO-Anweisung

Überträgt die Kontrolle auf die beschriftete Anweisung. Es wird jedoch nicht empfohlen, die GOTO-Anweisung in Ihrem Programm zu verwenden.