PL-SQL: Schleifen
Das Buch PL-SQL ist zurzeit in Überarbeitung! Änderungen an dieser Seite nur in Absprache mit mir.
Wie in jeder Sprache unterstützt auch PL/SQL Schleifen. Um richtig in die Programmierung einzusteigen, wollen wir hier zuallererst zwischen kopf- und fußgesteuerten Schleifen unterscheiden.
- Loop --- Until
- While
- For - Schleifen
Beispiele LOOP --- UNTIL:
(PL/SQL kennt keine REPEAT/UNTIL Konstruktion, stattdessen kann mit Hilfe der EXIT-Anweisung eine Schleife an beliebiger Stelle abgebrochen werden.)
Declare x NUMBER := 1; Begin Loop DBMS_OUTPUT.put_line( x ); X := X + 1; EXIT WHEN x > 10; End Loop; End;
Die Schleife wird solange ausgeführt, bis die Abbruchbedingung erfüllt ist. Die EXIT Bedingung kann an jeder beliebigen Stelle innerhalb der Schleife verwendet werden. Es ist zu beachten, daß bei unkorrekter Verwendung eine Endlosschleife ausgeführt wird. Wird die EXIT Bedingung am Beginn der Schleife verwendet, entspricht es einer WHILE Schleife.
Lesbarer ist allerdings die 'echte' WHILE Schleife:
Declare x NUMBER := 1; Begin While X < 11 Loop DBMS_OUTPUT.put_line( x ); X := X + 1; End Loop; End;
Hier ein Beispiel für eine einfache FOR Schleife:
Declare -- Indexvariablen müssen nicht deklariert werden; -- bei X handelt es sich immer um eine ganze Zahl. Begin For X IN 1 .. 10 Loop DBMS_OUTPUT.put_line( x ); End Loop; End;
Die Schleife wird genau 10 mal ausgeführt.