Pętla PL/SQL for jest używana, gdy chcesz wykonać zestaw instrukcji określoną liczbę razy. Pętla jest iterowana pomiędzy początkową i końcową wartością całkowitą. Licznik jest zawsze zwiększany o 1, a gdy licznik osiągnie wartość końcową całkowitą, pętla się kończy.
Składnia pętli for:
FOR counter IN initial_value .. final_value LOOP LOOP statements; END LOOP;
- wartość_początkowa: Początkowa wartość całkowita
- final_value : Końcowa wartość całkowita
Przykład pętli PL/SQL For 1
Zobaczmy prosty przykład pętli PL/SQL FOR.
BEGIN FOR k IN 1..10 LOOP -- note that k was not declared DBMS_OUTPUT.PUT_LINE(k); END LOOP; END;
Po wykonaniu powyższego kodu otrzymasz następujący wynik:
1 2 3 4 5 6 7 8 9 10
Uwaga: podczas korzystania z pętli PL/SQL WHILE należy wykonać poniższe kroki.
- Nie musisz jawnie deklarować zmiennej licznika, ponieważ jest ona zadeklarowana niejawnie w sekcji deklaracji.
- Zmienna licznika jest zwiększana o 1 i nie ma potrzeby zwiększania jej jawnie.
- Możesz używać instrukcji EXIT WHEN i EXIT w pętlach FOR, ale nie jest to robione często.
Przykład pętli PL/SQL For 2
DECLARE VAR1 NUMBER; BEGIN VAR1:=10; FOR VAR2 IN 1..10 LOOP DBMS_OUTPUT.PUT_LINE (VAR1*VAR2); END LOOP; END;
Wyjście:
10 20 30 40 50 60 70 80 90 100
PL/SQL dla pętli REVERSE Przykład 3
Zobaczmy przykład pętli for PL/SQL, w której używamy słowa kluczowego REVERSE.
DECLARE VAR1 NUMBER; BEGIN VAR1:=10; FOR VAR2 IN REVERSE 1..10 LOOP DBMS_OUTPUT.PUT_LINE (VAR1*VAR2); END LOOP; END;
Wyjście:
100 90 80 70 60 50 40 30 20 10