PL/SQL Loops

PL/SQL Loops
Løkker 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 viss tilstand er sann. De er det grunnleggende beinet når du automatiserer de repeterende oppgavene uten å skrive en kodeblokk flere ganger.

Som alle større programmeringsspråk, støtter PL/SQL løkker som lar et sett med instruksjoner gjentas til en viss tilstand 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 sløyfekonstruksjonene som "for" -sløyfe og "mens" -løkker. Vi kan uttrykke syntaks for en generisk sløyfe i Oracle som vist i følgende:

<

Dette inneholder løkkenes nøkkelord og kroppens sløyfe som skal utføres og er vedlagt med nøkkelordet til sluttsløyfen.

Loop -blokken kjører de definerte handlingene og returnerer kontrollen til toppløkken etter fullføring. Dette er vanligvis vedlagt i en avkjørsel eller avkjørsel når klausul for å avslutte sløyfen etter at en spesifikk tilstand er oppfylt. Dette hjelper til med å forhindre uendelige løkker.

Oracle for Loop Syntax:

Følgende viser syntaks for en "for" -sløyfe i PL/SQL:

BEGYNNE
For loop_variable i [nedre_bound… øvre_bound] loop
-- kode som skal utføres i løkken
Endesløyfe;
SLUTT;

Loop_Variable lar deg definere en sløyfe som brukes til å kontrollere sløyfen og de nedre og øvre grensene. Øvre og nedre grenser spesifiserer områdeverdiene der sløyfeevalueringen skjer.

Oracle mens løkker

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

BEGYNNE
Mens tilstandssløyfe
-- sløyfe
Endesløyfe;
SLUTT;

I en "mens" sløyfe utføres sløyfeaksjonen gjentatte ganger mens tilstanden er sann.

Oracle markør for løkker

Oracle støtter også “Markøren for” -løkker 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_variabel i (velg kolonne1, kolonne2, ..
Fra tabell1, tabell2, ..
Hvor tilstand) sløyfe
-- sløyfe
Endesløyfe;
SLUTT;

Eksempel på løkker i Oracle

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

Oracle for sløyfeeksempel:

Dette eksemplet demonstrerer hvordan du bruker en "for" -sløyfe for å skrive ut tallene fra 1 til 10.

BEGYNNE
For jeg i 1 ... 10 loop
Dbms_output.Put_line (i);
Endesløyfe;
SLUTT;

Mens sløyfeeksempel:

Vi kan utføre en lignende handling ved hjelp av en stundsløyfe som vist i følgende:

BEGYNNE
ERKLÆRE
i nummer: = 1;
BEGYNNE
Mens jeg <= 10 LOOP
Dbms_output.Put_line (i);
i: = i + 1;
Endesløyfe;
SLUTT;
SLUTT;

Dette skal utføre en lignende handling som "for" -sløyfen.

Markør for sløyfeeksempel:

Følgende viser hvordan du bruker "Markøren for" -løkken for å få en kundes fulle navn:

BEGYNNE
For ansatt i (velg First_name, Last_name
Fra ansatte) loop
Dbms_output.Put_line (ansatt.First_name || "|| Ansatt.etternavn);
Endesløyfe;
SLUTT;

Eksempelutgang:

Konklusjon

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