PL/SQL-løkker

Pl Sql Lokker



Sløjfer er en af ​​de primære byggesten i programmering. Vi bruger loops til at skabe de håndterbare kodeblokke, der kan udføres flere gange, når en bestemt betingelse er sand. De er den grundlæggende knogle, når du automatiserer de gentagne opgaver uden at omskrive en kodeblok flere gange.

Som alle større programmeringssprog understøtter PL/SQL loops, der tillader, at et sæt instruktioner kan gentages, indtil en bestemt betingelse er opfyldt.

I denne tutorial vil vi undersøge brugen af ​​LOOP-sætningen i PL/SQL til gentagne gange at udføre en kodeblok.







Oracle Loops

PL/SQL-sproget understøtter de forskellige loop-konstruktioner såsom 'for' loop og 'while' loops. Vi kan udtrykke syntaksen for en generisk løkke i Oracle som vist i følgende:



<< etiket >> LOOP
loop_statement;
END LOOP loop_label;

Dette indeholder nøgleordet LOOP og brødteksten i den løkke, der skal udføres, og er omgivet af nøgleordet END LOOP.



LOOP-blokken kører de definerede handlinger og returnerer kontrolelementet til top loop-udtrykket efter fuldførelse. Dette er normalt indesluttet i en EXIT- eller EXIT WHEN-klausul for at afslutte løkken, efter at en specifik betingelse er opfyldt. Dette hjælper med at forhindre de uendelige sløjfer.





Oracle For Loop Syntaks:

Det følgende viser syntaksen for en 'for'-løkke i PL/SQL:

BEGYNDE
FOR loop_variable IN [lower_bound..upper_bound] LOOP
-- kode, der skal udføres i løkken
ENDSLØKKE;
ENDE;

Loop_variablen giver dig mulighed for at definere en loop, som bruges til at kontrollere loopen og de nedre og øvre grænser. De øvre og nedre grænser angiver de områdeværdier, hvor loop-evalueringen finder sted.



Oracle While Loops

Vi kan også definere 'mens'-løkkerne i PL/SQL som demonstreret af følgende syntaks:

BEGYNDE
MENS tilstand LOOP
-- loop handling
ENDSLØKKE;
ENDE;

I en 'while'-løkke udføres loop-handlingen gentagne gange, mens betingelsen er sand.

Oracle Cursor For Loops

Oracle understøtter også 'cursor for' loops, som gør det muligt for os at udføre et sæt instruktioner for hver række i et givet resultatsæt. Syntaksen kan udtrykkes som følger:

BEGYNDE
FOR loop_variable IN (VÆLG kolonne1, kolonne2, ...
FRA tabel1, tabel2, ...
WHERE tilstand) LOOP
-- loop handling
ENDSLØKKE;
ENDE;

Eksempel sløjfer i Oracle

De følgende eksempler dækker det grundlæggende i at arbejde med for, while og for cursor loops i Oracle.

Oracle For Loop Eksempel:

Dette eksempel viser, hvordan man bruger en 'for'-løkke til at udskrive tallene fra 1 til 10.

BEGYNDE
FOR i IN 1..10 LOOP
DBMS_OUTPUT.PUT_LINE(i);
ENDSLØKKE;
ENDE;

Eksempel på mens-løkke:

Vi kan udføre en lignende handling ved at bruge en while-løkke som vist i følgende:

BEGYNDE
ERKLÆRE
i ANTAL := 1;
BEGYNDE
MENS i <= 10 LOOP
DBMS_OUTPUT.PUT_LINE(i);
i:= i + 1;
ENDSLØKKE;
ENDE;
ENDE;

Dette bør udføre en handling svarende til 'for'-løkken.

Markør for sløjfe eksempel:

Det følgende viser, hvordan man bruger 'markør for'-løkken til at få en kundes fulde navn:

BEGYNDE
FOR medarbejder IN (VÆLG fornavn, efternavn
FRA medarbejdere) LOOP
DBMS_OUTPUT.PUT_LINE(medarbejder.fornavn || ' ' || medarbejder.efternavn);
ENDSLØKKE;
ENDE;

Eksempel på output:

Konklusion

I dette indlæg stødte du på tre hovedtyper af sløjfer i Oracle PL/SQL-sprog. Du kan tjekke dokumentationen for at udforske yderligere.