PL/SQL-løkker

Pl Sql Lokker



Sløyfer er en av de primære byggesteinene i programmering. Vi bruker løkker for å lage de håndterbare kodeblokkene som kan utføres flere ganger når en bestemt betingelse er sann. De er det grunnleggende benet når du automatiserer de repeterende oppgavene uten å skrive om en blokk med kode flere ganger.

Som alle store programmeringsspråk, støtter PL/SQL løkker som gjør at et sett med instruksjoner kan gjentas til en viss betingelse er oppfylt.

I denne opplæringen vil vi utforske bruken av LOOP-setningen i PL/SQL for å gjentatte ganger utføre en kodeblokk.







Oracle Loops

PL/SQL-språket støtter de forskjellige loop-konstruksjonene som 'for' loop og 'while' loops. Vi kan uttrykke syntaksen til en generisk løkke i Oracle som vist i følgende:



<< merkelapp >> LØKKE
loop_statement;
END LOOP loop_label;

Dette inneholder nøkkelordet LOOP og hoveddelen av løkken som skal utføres, og er vedlagt nøkkelordet END LOOP.



LOOP-blokken kjører de definerte handlingene og returnerer kontrollen til toppløkkeleddet etter fullføring. Dette er vanligvis innelukket i en EXIT- eller EXIT WHEN-klausul for å avslutte sløyfen etter at en bestemt betingelse er oppfylt. Dette bidrar til å forhindre de uendelige løkkene.





Oracle For Loop Syntaks:

Følgende viser syntaksen til en 'for'-løkke i PL/SQL:

BEGYNNE
FOR loop_variable IN [lower_bound..upper_bound] LOOP
-- kode som skal kjøres i loopen
END LOOP;
SLUTT;

Loop_variablen lar deg definere en loop som brukes til å kontrollere loopen og de nedre og øvre grensene. De øvre og nedre grensene spesifiserer områdeverdiene der loopevalueringen finner sted.



Oracle While Loops

Vi kan også definere 'mens'-løkkene i PL/SQL som demonstrert av følgende syntaks:

BEGYNNE
MENS tilstand LOOP
-- loop handling
END LOOP;
SLUTT;

I en 'while'-løkke utføres loop-handlingen gjentatte ganger mens betingelsen er sann.

Oracle Cursor For Loops

Oracle støtter også 'markør for'-løkkene som gjør oss i stand til å utføre et sett med instruksjoner for hver rad i et gitt resultatsett. Syntaksen kan uttrykkes som følger:

BEGYNNE
FOR loop_variable IN (VELG kolonne1, kolonne2, ...
FRA tabell1, tabell2, ...
WHERE tilstand) LOOP
-- loop handling
END LOOP;
SLUTT;

Eksempelsløyfer i Oracle

Følgende eksempler dekker det grunnleggende om å jobbe med for, while og for markørløkker i Oracle.

Oracle For Loop Eksempel:

Dette eksemplet viser hvordan du bruker en 'for'-løkke for å skrive ut tallene fra 1 til 10.

BEGYNNE
FOR i IN 1..10 LOOP
DBMS_OUTPUT.PUT_LINE(i);
END LOOP;
SLUTT;

Eksempel på mensløkke:

Vi kan utføre en lignende handling ved å bruke en while-løkke som vist i følgende:

BEGYNNE
ERKLÆRE
i ANTALL := 1;
BEGYNNE
MENS i <= 10 LOOP
DBMS_OUTPUT.PUT_LINE(i);
i:= i + 1;
END LOOP;
SLUTT;
SLUTT;

Dette bør utføre en lignende handling som 'for'-løkken.

Markør for sløyfe eksempel:

Følgende viser hvordan du bruker 'markør for'-løkken for å få en kundes fulle navn:

BEGYNNE
FOR ansatt IN (VELG fornavn, etternavn
FRA ansatte) LOOP
DBMS_OUTPUT.PUT_LINE(ansatt.fornavn || ' ' || ansatt.etternavn);
END LOOP;
SLUTT;

Eksempelutgang:

Konklusjon

I dette innlegget møtte du tre hovedtyper av løkker i Oracle PL/SQL-språket. Du kan sjekke dokumentasjonen for å utforske videre.