Bazy danych 2 - Laboratorium 2
- pętla numeryczna for
FOR zmiennalicznikowa IN x..y LOOP instrukcje;
END LOOP;
Polecenia pętli wykonywane są y razy. Przed pierwszą iteracją zmienna licznikowa przyjmuje wartość x. Po kolejnych iteracjach pętli wartość zmiennej licznikowej jest zwiększana o 1 (domyślnie). Polecenia wykonywane są dopóki wartość tej zmiennej jest mniejsza równa y. Klauzula reverse odwraca kierunek iteracji.
Przykład 7 BEGIN
- - Zmienna iteracyjna NIE MUSI być wcześniej deklarowana ani inicjowana.
FOR i IN 1. 5 LOOP
DBMSOUTPUT.PUT_LINE(‘Wartość zmiennej wynosi: ||TO_CHAR(i));
END LOOP;
- - Uwaga na słowo kluczowe REVERSE. Odwraca ono kierunek iteracji.
FOR i IN REVERSE 15 LOOP
DBMS_OUTPUT.PUT_LINE( Wartość zmiennej wynosi: ||TO_CHAR(i));
END LOOP;
- - Do wcześniejszego wyjścia z pętli można użyć polecenia EXIT FOR i IN 15 LOOP
DBMS_OUTPUT.PUT_LINE(-Wartosc zmiennej wynosi: -||TO_CHAR(i));
EXIT WHEN i = 3;
END LOOP;
- - Pętla nie wykona się ani razu.
FOR i IN 6. 5 LOOP
DBM SOUTPUT. PUT_LINE( 'Wartość zmiennej wynosi: ||TO_CHAR(i));
END LOOP;
END;
/
Z pętlami można wiązać etykiety, umożliwiające ich identyfikację, opuszczanie i testowanie wartości zawartych w nich zmiennych iteracyjnych.
15