Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Verwendung von CONTINUE in Schleifen zur Wiederaufnahme der Steuerung in Oracle

Die CONTINUE-Anweisung in Schleifen verlässt die aktuelle Iteration einer Schleife bedingungslos und überträgt die Steuerung an die nächste Iteration entweder der aktuellen Schleife oder einer einschließenden beschrifteten Schleife. Im folgenden Beispiel überträgt die CONTINUE-Anweisung innerhalb der grundlegenden LOOP-Anweisung die Steuerung bedingungslos an die nächste Iteration der aktuellen Schleife.

DECLARE
x NUMBER :=0;
BEGIN
LOOP -- Nach der CONTINUE-Anweisung wird die Steuerung hier fortgesetzt
DBMS_OUTPUT.PUT_LINE ('Inside loop:x =' || TO_CHAR (x ));
x :=x + 1;

IF x <3 -- stattdessen diese if end if Bedingung für Continue kannst du auch CONTINUE When x <3;
THEN
CONTINUE;
END IF;

verwenden

DBMS_OUTPUT.PUT_LINE (
'Innerhalb der Schleife, nach CONTINUE:x =' || TO_CHAR (x));
EXIT WHEN x =5;
END LOOP;

DBMS_OUTPUT.PUT_LINE (' After loop:x =' || TO_CHAR (x));
END;
/
Die Ausgabe des obigen Blocks sollte ungefähr so ​​aussehen:

Innenschleife:x =0
Innenschleife:x =1
Innenschleife:x =2
Innenschleife, nach CONTINUE:x =3
Innenschleife:x =3
Innere Schleife, nach CONTINUE:x =4
Innere Schleife:x =4
Innere Schleife, nach CONTINUE:x =5
Nach Schleife:x =5