Oracle PL / SQL FOR LOOP med eksempel

Indholdsfortegnelse:

Anonim

Hvad er For Loop?

"FOR LOOP" -erklæringen er bedst egnet, når du vil udføre en kode et kendt antal gange i stedet for baseret på andre forhold.

I denne sløjfe vil den nedre grænse og den højere grænse blive specificeret, og så længe løkkevariablen er mellem dette interval, vil sløjfen blive udført.

Loopvariablen er selvinkrementel, så der er ikke behov for en eksplicit inkrementoperation i denne loop. Loopvariablen behøver ikke at blive deklareret, da den erklæres implicit.

FOR  in LOOPEND LOOP;
Syntaks Forklaring:
  • I ovenstående syntaks markerer nøgleordet 'FOR' begyndelsen på sløjfen og 'END LOOP' markerer slutningen af ​​sløjfen.
  • Loop-variabel evalueres hver gang før eksekveringsdelen udføres.
  • Eksekveringsblokken indeholder al den kode, der skal udføres. Eksekveringsdelen kan indeholde enhver eksekveringserklæring.
  • Loop_variable erklæres implicit under udførelsen af ​​hele loop, og omfanget af denne loop_variable er kun inden i denne loop.
  • Hvis løkkevariablen kom ud af området, vil kontrollen forlade sløjfen.
  • Sløjfen kan fås til at virke i omvendt rækkefølge ved at tilføje nøgleordet 'REVERSE' før lower_limit.

Eksempel 1 : I dette eksempel skal vi udskrive nummer fra 1 til 5 ved hjælp af FOR-loop-sætning. Til det udfører vi følgende kode.

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;/

Kode Forklaring:

  • Kodelinje 2 : Udskrivning af udsagnet "Program startet".
  • Kodelinje 3: Nøgleordet 'FOR' markerer begyndelsen af ​​sløjfen og loop_variable 'a' erklæres. Det har nu værdien fra 1 til 5
  • Kodelinje 5: Udskriver værdien af ​​'a'.
  • Kodelinje 6: Nøgleordet 'END LOOP' markerer afslutningen på eksekveringsblokken.
  • Koden fra linje 5 fortsætter med at udføre, indtil 'a' når værdien 6, da betingelsen vil mislykkes, og kontrollen EXIT fra sløjfen.
  • Kodelinje 7: Udskrivning af udsagnet "Program afsluttet"

Indlejrede sløjfer

Loop-udsagnene kan også indlejres. Den ydre og indre sløjfe kan være af forskellige typer. I den indlejrede sløjfe udføres den indre sløjfe for hver iterationsværdi af den ydre sløjfe fuldt ud.

LOOP -outerLOOP - innerEND LOOP;END LOOP;
Syntaks Forklaring:
  • I ovenstående syntaks har den ydre sløjfe endnu en løkke inde.
  • Sløjferne kan være af enhver type, og eksekveringsfunktionalitet er den samme.

Eksempel 1 : I dette eksempel skal vi udskrive nummer fra 1 til 3 ved hjælp af FOR-loop-sætning. Hvert nummer udskrives så mange gange som dets værdi. Til det udfører vi følgende kode.

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;/

Kode Forklaring:

  • Kodelinje 2 : Erklæring af variablen 'b' som 'NUMBER' datatype.
  • Kodelinje 4 : Udskrivning af udsagnet "Program startet".
  • Kodelinje 5: Nøgleordet 'FOR' markerer begyndelsen af ​​sløjfen og loop_variable 'a' erklæres. Det har nu værdien startende fra 1 til 3
  • Kodelinje 7: Nulstilling af værdien af ​​'b' til '1' hver gang.
  • Kodelinje 8: Indre mens loop kontrollerer tilstanden a> = b.
  • Kodelinje 10: Udskriver værdien af ​​'a', så længe ovenstående betingelse er opfyldt.
  • Kodelinje 14: Udskrivning af udsagnet "Program afsluttet"

Resumé

Sløjfe FOR Loop
UDGANGskriterier Afslut når tælleren når grænsen
Anvendelse Godt at bruge, når den løntælling, der skal udføres, er kendt.