Mens du går inn Oracle PL/SQL med eksempel
Hva er PL/SQL While Loop?
Mens Loop i PL/SQL fungerer som den grunnleggende loop-setningen, bortsett fra at EXIT-betingelsen er helt i begynnelsen av loopen. Det fungerer som en inngangskontrollsløyfe der utførelsesblokken kun vil utføres hvis betingelsen er oppfylt, da utgangsbetingelsen kontrolleres før utførelse.
Det krever ikke eksplisitt at nøkkelordet 'EXIT' går ut av løkken, siden det validerer betingelsen implisitt hver gang.
Syntaks for PL/SQL Mens Loop
WHILE <EXIT condition> LOOP <execution block starts> . . . <execution_block_ends> END LOOP;
- I syntaksen ovenfor markerer nøkkelordet 'WHILE' begynnelsen av løkken og 'END LOOP' markerer slutten på løkken.
- EXIT-tilstanden evalueres hver gang før utførelsesdelen begynner å utføre.
- Utførelsesblokken inneholder all koden som må kjøres.
- Utførelsesdelen kan inneholde en hvilken som helst utførelseserklæring.
Eksempel Oracle PL/SQL Mens Loop
I dette eksemplet skal vi skrive ut tall fra 1 til 5 ved å bruke WHILE loop-setningen. For det vil vi kjø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 variabelen 'a' som 'NUMBER' datatype og initialiserer den med verdien '1'.
- Kodelinje 4: Skriver ut setningen "Program started".
- Kodelinje 5: Nøkkelordet 'WHILE' markerer begynnelsen av loopen, og det sjekker også om verdien av 'a' er mindre enn eller lik 5
- Kodelinje 7: Skriver ut verdien av 'a'.
- Kodelinje 8: Øker verdien av 'a' med +1.
- Kodelinje 9: Nøkkelordet 'END LOOP' markerer slutten på utførelsesblokken.
- Koden fra linje 7 og linje 8 vil fortsette å kjøre til 'a' når verdien 6, ettersom tilstanden vil returnere TRUE, og kontrollen vil AVSLUTE fra sløyfe.
- Kodelinje 10: Skriver ut erklæringen "Program fullført"
Sammendrag
Loop | WHILE Loop |
---|---|
EXIT-kriterier | Avslutt når sjekktilstanden returnerer falsk |
bruk | Godt å bruke når loop-antallet er ukjent, og utgang er basert på en annen tilstand. |