FOR-Schleife

Die FOR-Schleife inkrementiert bei jedem Durchlauf die Indexvariable beginnend mit der Untergrenze bis zur Obergrenze immer um 1. Besonderheit hier, die Indexvariable muss nicht deklariert werden, kann aber.

Syntax der FOR-Schleife:

    <FOR-Schleife> ::=
         FOR Indexvariable IN [REVERSE] Untergrenze .. Obergrenze LOOP
             <SQL- und PL/SQL-Anweisung>; [ <SQL- und PL/SQL-Anweisung>; ]...
         END LOOP;

Indexvariable, Obergrenze, Untergrenze sind ganzzahlige Variablen, wie in der folgenden Tabelle beschrieben:

VariableBeschreibung
Indexvariableganzzahlige Variable
Untergrenzeuntere Grenze der Indexwerte
Obergrenzeobere Grenze der Indexwerte
REVERSEgibt an, dass der Index bei jedem Schleifendurchlauf erniedrigt wird. (dekrementieren)

Beispiel:

Die Prozedur berechnet die zu einer natürlichen Zahl die Fakultät 1*2*3*4 .... *n!.

   CREATE OR REPLACE PROCEDURE Fakultaet (p_n NUMBER) IS
     V_Ergebnis      NUMBER;
     i               NUMBER;
   BEGIN 
      V_Ergebnis := 1;
      FOR i IN 1..p_n LOOP
         V_Ergebnis := V_Ergebnis * i;
      END LOOP;
      DBMS_OUTPUT. PUT_LINE (V_Ergebnis);
   END;

siehe auch: WHILE-Schleife

Quellen:

  • Faeskorn-Woyke, Heide; Bertelsmeier, Birgit; Riemer, Petra; Bauer, Elena: "Datenbanksysteme - Theorie und Praxis mit SQL2003, Oracle und MySQL", Pearson Education, München, 2007, ISBN 978-3-8273-7266-6
  • Feuerstein, Steven, Pribyl. Bill: "Oracle PL/SQL Programming", O'Reilly, 2009, ISBN-13: 978-0596514464
  • Oracle® Database SQL Language Reference 11g Release 1 (11.1) in http://docs.oracle.com/cd/B28359_01/server.111/b28286/toc.htm
  • Oracle® Database PL/SQL Language Reference 11g Release 2 (11.2) in http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/toc.htm
  • Saurabh, Gupta: "Oracle Advanced PL/SQL Developer Professional Guide", Packt Publishing Limited, 2012, ISBN 978-1-84968-722-5

Kategorie: Oracle-PL-SQL, F