PL/SQL for bucla este folosit atunci când doriți să executați un set de instrucțiuni pentru un număr predeterminat de ori. Bucla este iterată între valorile întregi de început și de sfârșit. Contorul este întotdeauna incrementat cu 1 și odată ce contorul atinge valoarea întregului final, bucla se termină.
Sintaxa buclei for:
FOR counter IN initial_value .. final_value LOOP LOOP statements; END LOOP;
- initial_value : Valoare întreagă de pornire
- final_value : Valoarea întregului final
Exemplul 1 de buclă PL/SQL For
Să vedem un exemplu simplu de buclă FOR PL/SQL.
BEGIN FOR k IN 1..10 LOOP -- note that k was not declared DBMS_OUTPUT.PUT_LINE(k); END LOOP; END;
După executarea codului de mai sus, veți obține următorul rezultat:
1 2 3 4 5 6 7 8 9 10
Notă: Trebuie să urmați acești pași în timp ce utilizați PL/SQL WHILE Loop.
- Nu trebuie să declarați variabila contor în mod explicit, deoarece este declarată implicit în secțiunea de declarare.
- Variabila contor este incrementată cu 1 și nu trebuie să fie incrementată explicit.
- Puteți utiliza instrucțiunile EXIT WHEN și instrucțiunile EXIT în buclele FOR, dar nu se face des.
Exemplul 2 de buclă PL/SQL For
DECLARE VAR1 NUMBER; BEGIN VAR1:=10; FOR VAR2 IN 1..10 LOOP DBMS_OUTPUT.PUT_LINE (VAR1*VAR2); END LOOP; END;
Ieșire:
10 20 30 40 50 60 70 80 90 100
PL/SQL For Loop REVERSE Exemplul 3
Să vedem un exemplu de buclă PL/SQL în care folosim cuvântul cheie REVERSE.
DECLARE VAR1 NUMBER; BEGIN VAR1:=10; FOR VAR2 IN REVERSE 1..10 LOOP DBMS_OUTPUT.PUT_LINE (VAR1*VAR2); END LOOP; END;
Ieșire:
100 90 80 70 60 50 40 30 20 10