Oracle PL / SQL FOR LOOP ar piemēru

Satura rādītājs:

Anonim

Kas ir paredzēts lokam?

Izraksts "FOR LOOP" ir vispiemērotākais, ja vēlaties izpildīt kodu zināmu reižu skaitu, nevis pamatojoties uz citiem nosacījumiem.

Šajā lokā tiks norādīta zemākā un augstākā robeža, un kamēr cilpa mainīgais atrodas starp šo diapazonu, cilpa tiks izpildīta.

Cilpas mainīgais ir pats par sevi palielināms, tāpēc šajā ciklā nav nepieciešama skaidra pieauguma darbība. Cilpas mainīgais nav jādeklarē, jo tas tiek deklarēts netieši.

FOR  in LOOPEND LOOP;
Sintakses skaidrojums:
  • Iepriekš minētajā sintaksē atslēgvārds “FOR” iezīmē cilpas sākumu, bet “END LOOP” - cilpas beigas.
  • Loop mainīgais tiek novērtēts katru reizi pirms izpildes daļas izpildes.
  • Izpildes bloks satur visu kodu, kas jāizpilda. Izpildes daļā var būt jebkurš izpildes paziņojums.
  • Cikla mainīgais tiek deklarēts netieši visas cilpas izpildes laikā, un šī cikla mainīgā darbības joma būs tikai šīs cilpas iekšpusē.
  • Ja cilpas mainīgais nonāca ārpus diapazona, tad vadība izies no cilpas.
  • Var izveidot cilpu darboties apgrieztā secībā, pirms zemākā_limita pievienojot atslēgvārdu “REVERSE”.

1. piemērs : Šajā piemērā mēs izdrukāsim numuru no 1 līdz 5, izmantojot FOR loop paziņojumu. Šim nolūkam mēs izpildīsim šādu kodu.

BEGINdbms Qutput.put linef.Prp.gram started.' );FOR a IN 1… 5LOOPdbms_output.put_line(a);END LOOP:dbms_output.put_iine('Program completed.');END;/

Koda skaidrojums:

  • 2. koda rindiņa : paziņojuma "Programma sākta" izdrukāšana.
  • 3. koda rindiņa: Atslēgvārds “FOR” atzīmē cilpas sākumu, un cilpas mainīgais “a” tiek deklarēts. Tagad tā vērtība būs no 1 līdz 5
  • 5. koda rindiņa: izdrukā “a” vērtību.
  • 6. koda rindiņa: Atslēgvārds “END LOOP” atzīmē izpildes bloka beigas.
  • Kods no 5. rindas turpinās darboties, līdz 'a' sasniegs vērtību 6, jo nosacījums neizdosies, un vadība izies no cilpas.
  • Kodu rinda 7: Izraksta "Programma pabeigta" izdrukāšana

Ligzdotas cilpas

Cilpas paziņojumus var arī ligzdot. Ārējā un iekšējā cilpa var būt dažāda veida. Ligzdotajā cilpā katrai ārējās cilpas atkārtojuma vērtībai iekšējā cilpa tiks izpildīta pilnībā.

LOOP -outerLOOP - innerEND LOOP;END LOOP;
Sintakses skaidrojums:
  • Iepriekš minētajā sintaksē ārējā cilpā ir vēl viena cilpa.
  • Cilpas var būt jebkura veida, un izpildes funkcionalitātes daļa ir vienāda.

1. piemērs : Šajā piemērā mēs izdrukāsim numuru no 1 līdz 3, izmantojot FOR loop paziņojumu. Katrs skaitlis tiks drukāts tik reižu, cik tā vērtība. Šim nolūkam mēs izpildīsim šādu kodu.

DECLAREb NUMBER;BEGINdbms output put line(‘Program started' );FOR a IN 1… 3LOOPb:=1;WHILE (a>=b)LOOPdbms output put line(a);b:=b+1;END LOOP;‭ END LOOP;‭ ‬dbms_output.put_line('Program completed' );END;/

Koda skaidrojums:

  • 2. koda rindiņa : mainīgā “b” deklarēšana par “NUMBER” datu tipu.
  • 4. koda rindiņa : izdrukājiet paziņojumu "Programma sākta".
  • 5. koda rindiņa: Atslēgvārds “FOR” atzīmē cilpas sākumu, un cilpas mainīgais “a” tiek deklarēts. Tagad tā vērtība būs no 1 līdz 3
  • Kodu rinda 7: katru reizi atiestatiet “b” vērtību uz “1”.
  • 8. koda rindiņa: iekšējā, kamēr cilpa pārbauda nosacījumu a> = b.
  • 10. koda rindiņa: drukā “a” vērtību, ja ir izpildīts iepriekš minētais nosacījums.
  • 14. koda rindiņa: Izraksta "Programma pabeigta" izdrukāšana

Kopsavilkums

Loop PAR Loop
Izejas kritēriji Iziet, kad skaitītājs sasniedz robežu
Lietošana Labi lietojams, ja ir zināms izpildāms cilpu skaits.