PL/SQL for loop -toimintoa käytetään, kun haluat suorittaa joukon käskyjä ennalta määrätyn määrän kertoja. Silmukka iteroidaan alku- ja loppukokonaislukuarvojen välillä. Laskuria kasvatetaan aina yhdellä, ja kun laskuri saavuttaa kokonaisluvun loppuarvon, silmukka päättyy.
for silmukan syntaksi:
FOR counter IN initial_value .. final_value LOOP LOOP statements; END LOOP;
- aloitusarvo : Aloita kokonaislukuarvo
- final_value : Loppukokonaisluku
PL/SQL For Loop Esimerkki 1
Katsotaanpa yksinkertainen esimerkki PL/SQL FOR -silmukasta.
muuntaa merkkijono int javaksi
BEGIN FOR k IN 1..10 LOOP -- note that k was not declared DBMS_OUTPUT.PUT_LINE(k); END LOOP; END;
Yllä olevan koodin suorittamisen jälkeen saat seuraavan tuloksen:
1 2 3 4 5 6 7 8 9 10
Huomautus: Sinun on noudatettava näitä ohjeita, kun käytät PL/SQL WHILE -silmukkaa.
selittää tietojen riippumattomuus
- Sinun ei tarvitse ilmoittaa laskurimuuttujaa eksplisiittisesti, koska se ilmoitetaan implisiittisesti ilmoitusosiossa.
- Laskurimuuttujaa kasvatetaan 1:llä, eikä sitä tarvitse erikseen kasvattaa.
- Voit käyttää EXIT WHEN- ja EXIT-käskyjä FOR Loopsissa, mutta sitä ei tehdä usein.
PL/SQL For Loop Esimerkki 2
DECLARE VAR1 NUMBER; BEGIN VAR1:=10; FOR VAR2 IN 1..10 LOOP DBMS_OUTPUT.PUT_LINE (VAR1*VAR2); END LOOP; END;
Lähtö:
10 20 30 40 50 60 70 80 90 100
PL/SQL For Loop REVERSE Esimerkki 3
Katsotaanpa esimerkkiä PL/SQL for loopista, jossa käytämme REVERSE-avainsanaa.
DECLARE VAR1 NUMBER; BEGIN VAR1:=10; FOR VAR2 IN REVERSE 1..10 LOOP DBMS_OUTPUT.PUT_LINE (VAR1*VAR2); END LOOP; END;
Lähtö:
100 90 80 70 60 50 40 30 20 10