Introduktion til sløjfer i PL / SQL

Proceduresprog / struktureret forespørgsel eller PL / SQL er Oracle Corporation's proceduremæssige udvidelse af Oracle RDBMS. PL / SQL udvidede SQL ved at tilføje konstruktioner, der bruges i proceduresprog for at muliggøre mere kompleks programmering end SQL giver. Eksempler på disse strukturer er HVIS… DER… ELLER, basale sløjfer, FOR sløjfer og WHILE sløjfer.

Forklar forskellige typer loops i PL / SQL

Denne artikel forklarer dig, at den iterative kontrolstruktur betyder sløjfer af PL / SQL; det giver dig mulighed for at køre den samme kode gentagne gange. PL / SQL leverer tre forskellige slags looptyper:

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

Her er hver løkke designet til et specifikt formål, regler for brug og retningslinjer for oprettelse af høj kvalitet.

Eksempler på forskellige sløjfer

Overvej følgende tre procedurer for at forstå forskellige sløjfer og deres problemløsningsevne på forskellige måder.

1. Den enkle sløjfe

Denne løkke er så enkel som dens navn. Det starter med LOOP-nøgleordet og slutter med slutangivelsen “END LOOP”.

Syntaks

LOOP
The sequence of statements;
END LOOP;

I henhold til ovenstående syntaksnøgleord markerer 'LOOP' starten af ​​loopen og 'END LOOP' angav slutningen af ​​loopen. Sekvensen af ​​udsagnsdelen kan indeholde enhver erklæring til udførelse.

Eksempel på Simple loop

Lad os skrive et program til udskrivning af multiplikationstabellen med 18.

Her i ovenstående loop har vi ikke ”EXIT” -angivelsen; betyder, at outputudførelsen fortsætter uendelig, indtil vi lukker dette program manuelt.

Se nedenfor program med Exit statement:

Forklaring af ovenstående program

I erklæringsafsnittet har vi erklæret to variabler; variabel v_counter vil fungere som en tæller, og v_result vil holde resultatet af multiplikationen.

Nede i eksekveringsafsnittet har vi vores enkle loop, her har vi tre udsagn.

  • Den første erklæring fungerer som vores opdateringserklæring; dette vil opdatere vores tæller og øge den med 1.
  • Den anden sætning er et aritmetisk udtryk, der udfører multiplikationen af ​​vores tabel og gemmer resultatet i v_result variabel.
  • Den tredje sætning er en outputerklæring, der udskriver resultatet af multiplikationen på en formateret måde.

Brug af exit-erklæring

Som ved udgangsangivelse, hvis v_counter> = 10, så loop med en exit, hvilket betyder, at loopen udføres 10 gange.

Produktion:

2. FOR Loop

FOR-loop giver dig mulighed for at udføre blokering af udsagn gentagne gange i et fast antal gange.

Syntaks

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

  • Den første linje i syntaksen er loop-sætningen, hvor nøgleord FOR markerer begyndelsen på loop efterfulgt af loop-tæller, som er en implicit indeks-heltalvariabel.
  • Dette betyder, at du ikke behøver at definere denne variabel i erklæringsafsnittet, også at den vil øge sig selv med 1 implicit på hver iteration af din løkke, i modsætning til de andre sløjfer, hvor vi er nødt til at definere loop-tæller.
  • Nøgleord IN er et must for at være i FOR Loop-programmet.
  • Nøgleord REVERSE er ikke obligatorisk, men bruges altid sammen med Nøgleord IN.
  • Hvis der bruges nøgleord REVERSE, itereserer løkken i omvendt rækkefølge.
  • lavere_limit og øvre_limit er to heltal. Disse to variabler definerer et antal iteration af løkken.
  • To prikker mellem disse to variabler fungerer som rækkeviddeoperatøren.
  • Så har vi kroppen af ​​løkken, der kan være en erklæring eller en gruppe udsagn.
  • I sidste ende har vi udtrykket END LOOP, der viser slutningen på loopen.

Eksempel 1

I henhold til ovenstående program har vi vores FOR-loop, der udskriver værdien af ​​v_counter-variablen fra 11 til 20.

Produktion:

Eksempel 2: Lad os nu udskrive det samme i omvendt rækkefølge vha. FOR-loop.

Bare tilføj søgeord REVERSE efter IN og før 11, dette udfører den samme o / p men i omvendt rækkefølge.

3. WHILE-løkken

Mens loop udfører udsagn om program flere gange, bruges dette også bedst til programmet, når ingen af ​​iterationer er ukendt.

Syntaks

WHILE condition LOOP
Statement 1;
Statement 2;

Statement N;
END LOOP;

  • I modsætning til en anden syntaks WHILE-loop, er syntaksen meget let at forstå. I henhold til ovenstående syntaks markerer 'WHILE' begyndelsen af ​​løkken sammen med tilstanden, og 'END LOOP' angav slutningen af ​​løkken.
  • Udsagnene 1 til N er de eksekverbare udsagn, der er defineret i loopens krop. Derudover har vi i sidste ende nævnt END LOOP, der angiver slutningen af ​​while loop.
  • For at køre udsagn inde i kroppen af ​​While-løkken, skal betingelsen være sand.

Eksempel: Udskriv multiplikationstabel med 17 ved hjælp af loop.

  • I dette eksempel har vi den første variabel "v_counter", der tjener som tæller, og den anden variabel er "v_result", dette vil indeholde resultatet af multiplikationen.
  • Her er den første udsagn et aritmetisk udtryk inde i WHILE loop, som vil udføre opgaven med tabelmultiplikation og resultat, gemmes i v_resultat.
  • Den anden erklæring er udskrivningsangivelsen, der udskriver multiplikationsresultater. Den tredje erklæring er opdateringstæller, som opdaterer tælleren med hver iteration
  • Dette mens loop fortsætter med at arbejde, indtil vi har tællerværdi mere end eller lig med 10, og WHILE-sløjfe vil blive afsluttet efter 10 tællerværdi.

Produktion:

Fordele ved sløjfer i PL / SQL

  • Genanvendelighed af kode er den bedste fordel ved loops, vi behøver ikke at skrive kode gentagne gange for hver iteration, ved hjælp af loops kan vi genbruge kode i enhver iteration.
  • Loops hjælper os også med at reducere kodestørrelsen eller programstørrelsen. Alt, hvad vi skal gøre, er bare at skrive en simpel kode og lægge den i enhver løkke for at afslutte arbejdet uden at kode for forskellige output fra det samme program.
  • Kompleksitetsreduktion har også tilføjet fordelen ved sløjfer.

Konklusion - sløjfer i PL / SQL

SQL er den eneste grænseflade til en relationsdatabase, og PL / SQL er en proceduremæssig udvidelse til SQL. Det er vigtigt at forstå, hvordan SQL fungerer, og at designe databaser og forretningslogik korrekt for at få det rigtige resultatsæt. PL / SQL kan bruges i databasen, og den har mange kraftige funktioner. Der er mange forbedringer til PL / SQL i Oracle Database 12.1. Brug SQL når det er muligt, men hvis din forespørgsel bliver for kompliceret, eller hvis der er behov for procedurefunktioner, er det bedst at bruge PL / SQL i stedet.

Anbefalede artikler

Dette har været en guide til Loops i PL / SQL. Her diskuterer vi også fordele og forskellige typer loops med eksempler. Du kan også se på de følgende artikler for at lære mere–

  1. Hvad er PL / SQL?
  2. Test af skalerbarhed
  3. Hvad er R-programmeringssprog?
  4. Hvad er PHP?
  5. Top 36 nøgleord i SQL med eksempler
  6. Loops i PowerShell | Typer | Fordele