Introduksjon til Loops i PL / SQL

Prosedyrespråk / strukturert spørrespråk eller PL / SQL er Oracle Corporation prosedyreutvidelse for Oracle RDBMS. PL / SQL utvidet SQL ved å legge til konstruksjoner som brukes på prosessuelle språk for å muliggjøre mer kompleks programmering enn SQL gir. Eksempler på disse strukturene er HVIS… DER… ELLER, grunnleggende løkker, FOR løkker og HVILE løkker.

Forklar forskjellige typer løkker i PL / SQL

Denne artikkelen vil forklare deg at den iterative kontrollstrukturen betyr løkker av PL / SQL; den lar deg kjøre den samme koden gjentatte ganger. PL / SQL gir tre forskjellige typer løkketyper:

  • Den enkle eller uendelige sløyfen
  • FOR-løkken
  • WHILE-løkken

Her er hver sløyfe designet for et spesifikt formål, regler for bruk og retningslinjer for høy kvalitet.

Eksempler på forskjellige løkker

Tenk på følgende tre prosedyrer for å forstå forskjellige løkker og deres problemløsningsevne på forskjellige måter.

1. The Simple Loop

Denne sløyfen er så enkel som navnet. Det starter med LOOP-nøkkelordet og slutter med sluttsetningen “END LOOP”.

syntax

LOOP
The sequence of statements;
END LOOP;

Her, i henhold til syntaksnøkkelordet ovenfor, markerer 'LOOP' starten på loopen og 'END LOOP' uttalte slutten på loopen. Sekvensen av uttalelsesdelen kan inneholde en hvilken som helst uttalelse for utførelse.

Eksempel på Simple loop

La oss skrive et program for å skrive ut multiplikasjonstabellen på 18.

Her i sløyfen ovenfor har vi ikke "EXIT" -uttalelsen; betyr at utførelsen vil fortsette å være uendelig til vi lukker dette programmet manuelt.

Se program under Exit:

Forklaring av programmet over

I erklæringsdelen har vi erklært to variabler; variabel v_counter vil tjene som en teller og v_resultat vil holde resultatet av multiplikasjonen.

Nede på henrettelsesdelen har vi vår enkle sløyfe, her har vi tre uttalelser.

  • Den første uttalelsen vil fungere som vår oppdateringserklæring; Dette vil oppdatere telleren vår og øke den med 1.
  • Den andre påstanden er et aritmetisk uttrykk, som vil utføre multiplikasjonen av tabellen vår og vil lagre resultatet i v_result variabel.
  • Den tredje uttalelsen er en uttalelse, som vil skrive ut resultatet av multiplikasjonen på en formatert måte.

Bruk av avkjørselserklæring

Som per utgangsuttalelse hvis v_counter> = 10, så sløyfe med en avkjørsel som betyr at løkken vil utføre 10 ganger.

Produksjon:

2. FOR Loop

FOR-loop gir deg mulighet til å utføre uttalelsesblokken gjentatte ganger i et fast antall ganger.

syntax

FOR loop_counter IN (REVERSE) lower_limit .. upper_limit LOOP
Statement1;
Statement2;
….Statement3;
END LOOP;

  • Den første linjen i syntaksen er loop-setningen der nøkkelord FOR markerer begynnelsen på loop etterfulgt av loop-teller som er en implisitt indeks-heltallvariabel.
  • Dette betyr at du ikke trenger å definere denne variabelen i erklæringsdelen, også at den vil øke seg selv med 1 implisitt på hver iterasjon av loopen din, i motsetning til de andre løkkene der vi må definere sløyfeteller.
  • Nøkkelord IN er et must for å være i FOR Loop-programmet.
  • Nøkkelord REVERSE er ikke obligatorisk, men brukes alltid i forbindelse med nøkkelord IN.
  • Hvis nøkkelord REVERSE brukes, itereserer løkken i motsatt rekkefølge.
  • lavere_limit og øvre_limit er to heltallstall. Disse to variablene definerer et antall iterasjoner av løkken.
  • To punkter mellom disse to variablene fungerer som rekkeviddeoperatøren.
  • Så har vi kroppen til løkken, som kan være en uttalelse eller en gruppe uttalelser.
  • Til slutt har vi uttrykket END LOOP som indikerer slutten på loopen.

Eksempel 1

I henhold til programmet over har vi FOR-loopen vår som vil skrive ut verdien til v_counter-variabelen fra 11 til 20.

Produksjon:

Eksempel 2: La oss nå skrive ut det samme i omvendt rekkefølge ved å bruke FOR-loop.

Bare legg til nøkkelord REVERSE etter IN og før 11, dette vil utføre den samme o / p men i motsatt rekkefølge.

3. WHILE-løkken

Mens loop utfører uttalelser om programmet flere ganger, brukes dette også best for programmet når ingen av iterasjoner er ukjente.

syntax

WHILE condition LOOP
Statement 1;
Statement 2;

Statement N;
END LOOP;

  • I motsetning til en annen syntaks WHILE-loop, er syntaksen veldig lett å forstå. I henhold til syntaksen ovenfor markerer 'WHILE' begynnelsen på løkken sammen med tilstanden og 'END LOOP' uttalte slutten på løkken.
  • Uttalelsene 1 til og med N er kjørbare uttalelser, definert i kroppen. I tillegg har vi til slutt nevnt END LOOP som indikerer slutten av while loopen.
  • For å kunne kjøre utsagn i kroppen til While-sløyfen, må tilstanden være sann.

Eksempel: Skriv ut multiplikasjonstabellen med 17 ved bruk av loop.

  • I dette eksemplet har vi den første variabelen “v_counter” som vil tjene som teller, og den andre variabelen er “v_result”, dette vil holde resultatet av multiplikasjonen.
  • Her er den første uttalelsen et aritmetisk uttrykk i WHILE loop, som vil gjøre oppgaven med tabellmultiplikasjon og resultat, vil bli lagret i v_resultat.
  • Den andre uttalelsen er uttalelsen, som vil skrive ut multiplikasjonsresultater. Den tredje uttalelsen er oppdateringsteller, som vil oppdatere telleren med hver iterasjon
  • Dette mens loop vil fortsette å fungere til vi har tellerverdi mer enn eller lik 10 og WHILE sløyfe vil bli avsluttet etter 10 tellerverdi.

Produksjon:

Fordeler med løkker i PL / SQL

  • Gjenbruk av kode er den beste fordelen med løkker, vi trenger ikke å skrive kode gjentatte ganger for hver iterasjon, ved å bruke løkker kan vi bruke kode på nytt i hver iterasjon.
  • Loops hjelper oss også med å redusere kodestørrelsen eller programstørrelsen. Alt vi trenger å gjøre er å bare skrive en enkel kode og legge den i hvilken som helst loop for å fullføre arbeidet uten å kode for forskjellige utganger fra det samme programmet.
  • Kompleksitetsreduksjon har også gitt fordelen med løkker.

Konklusjon - løkker i PL / SQL

SQL er det eneste grensesnittet til en relasjonsdatabase, og PL / SQL er en prosedyreutvidelse til SQL. Det er viktig å forstå hvordan SQL fungerer og å designe databaser og forretningslogikk riktig for å få riktig resultatsett. PL / SQL kan brukes i databasen, og den har mange kraftige funksjoner. Det er mange forbedringer av PL / SQL i Oracle Database 12.1. Bruk SQL når det er mulig, men hvis spørsmålet ditt blir for komplisert eller prosedyrefunksjoner er nødvendig, er det best å bruke PL / SQL i stedet.

Anbefalte artikler

Dette har vært en guide til Loops i PL / SQL. Her diskuterer vi også fordeler og forskjellige typer løkker med eksempler. Du kan også se på følgende artikler for å lære mer–

  1. Hva er PL / SQL?
  2. Skalerbarhetstesting
  3. Hva er R-programmeringsspråk?
  4. Hva er PHP?
  5. Topp 36 nøkkelord i SQL med eksempler
  6. Looper i PowerShell | Typer | fordeler