Mens Loop in Oracle PL/SQL med eksempel
Hvad er PL/SQL While Loop?
Mens Loop i PL/SQL virker det på samme måde som den grundlæggende loop-sætning, bortset fra at EXIT-betingelsen er helt i begyndelsen af loopet. Det fungerer som en entry-checking loop, hvor udførelsesblokken kun udføres, hvis betingelsen er opfyldt, da exit-betingelsen kontrolleres før udførelse.
Det kræver ikke eksplicit, at nøgleordet 'EXIT' forlader løkken, da det validerer betingelsen implicit hver gang.
Syntaks for PL/SQL Mens Loop
WHILE <EXIT condition> LOOP <execution block starts> . . . <execution_block_ends> END LOOP;
- I ovenstående syntaks markerer nøgleordet 'WHILE' begyndelsen af løkken og 'END LOOP' markerer slutningen af løkken.
- EXIT-tilstanden evalueres hver gang, før udførelsesdelen begynder at udføre.
- Udførelsesblokken indeholder al den kode, der skal udføres.
- Udførelsesdelen kan indeholde en hvilken som helst udførelseserklæring.
Eksempel Oracle PL/SQL Mens Loop
I dette eksempel skal vi udskrive nummer fra 1 til 5 ved hjælp af WHILE loop-sætning. Til det vil vi udføre følgende kode:
DECLARE a NUMBER :=1; BEGIN dbms_output.put_line('Program started'); WHILE (a <= 5) LOOP dbms_output.put_line(a); a:=a+1; END LOOP; dbms_output.put_line(‘Program completed' ); END: /
Kodeforklaring:
- Kodelinje 2: Erklærer variablen 'a' som 'NUMBER' datatype og initialiserer den med værdien '1'.
- Kodelinje 4: Udskrivning af erklæringen "Program started".
- Kodelinje 5: Nøgleordet 'WHILE' markerer begyndelsen af løkken, og det kontrollerer også, om værdien af 'a' er mindre end eller lig med 5
- Kodelinje 7: Udskriver værdien af 'a'.
- Kodelinje 8: Øger værdien af 'a' med +1.
- Kodelinje 9: Nøgleordet 'END LOOP' markerer slutningen af udførelsesblokken.
- Koden fra linje 7 og linje 8 vil fortsætte med at udføre, indtil 'a' når værdien 6, da betingelsen returnerer TRUE, og kontrollen vil EXIT fra loop.
- Kodelinje 10: Udskrivning af erklæringen "Program gennemført"
Resumé
Loop | WHILE Loop |
---|---|
EXIT-kriterier | Afslut, når kontroltilstanden returnerer falsk |
Brug | God at bruge, når sløjfeantallet er ukendt, og exit er baseret på en anden betingelse. |