Inleiding tot lussen in PL / SQL

Procedurele taal / Structured Query Language of PL / SQL is de procedurele extensie van Oracle Corporation voor de Oracle RDBMS. PL / SQL breidde SQL uit door constructen toe te voegen die in procedurele talen worden gebruikt om complexere programmering mogelijk te maken dan SQL biedt. Voorbeelden van deze structuren zijn ALS … DAN … ELSE, basislussen, FOR-lussen en WHILE-lussen.

Leg verschillende soorten loops uit in PL / SQL

In dit artikel wordt uitgelegd dat de iteratieve besturingsstructuur lussen van PL / SQL betekent; hiermee kunt u dezelfde code herhaaldelijk uitvoeren. PL / SQL biedt drie verschillende soorten lustypen:

  • De eenvoudige of oneindige lus
  • De FOR-lus
  • De WHILE-lus

Hier is elke lus ontworpen voor een specifiek doel, gebruiksregels en richtlijnen voor het maken van hoge kwaliteit.

Voorbeelden van verschillende loops

Overweeg de volgende drie procedures om verschillende lussen en hun probleemoplossend vermogen op verschillende manieren te begrijpen.

1. De eenvoudige lus

Deze lus is net zo eenvoudig als de naam. Het begint met het LOOP-trefwoord en eindigt met de eindverklaring "END LOOP".

Syntaxis

LOOP
The sequence of statements;
END LOOP;

Hier, volgens het bovenstaande syntaxiswoord, markeert 'LOOP' het begin van de lus en 'EINDE LOOP' het einde van de lus. De volgorde van het instructieonderdeel kan elke instructie bevatten die moet worden uitgevoerd.

Voorbeeld van een eenvoudige lus

Laten we een programma schrijven om de vermenigvuldigingstabel van 18 af te drukken.

Hier in de bovenstaande lus hebben we geen “EXIT” -instructie; betekent dat de uitvoeruitvoer oneindig blijft totdat we dit programma handmatig sluiten.

Zie onderstaand programma met Exit-verklaring:

Uitleg van het bovenstaande programma

In het aangiftegedeelte hebben we twee variabelen gedeclareerd; variabele v_counter zal als een teller dienen en v_result zal het resultaat van de vermenigvuldiging bevatten.

Onderaan de uitvoeringssectie hebben we onze eenvoudige lus, hier hebben we drie verklaringen.

  • De eerste instructie werkt als onze update-instructie; hiermee wordt onze teller bijgewerkt en met 1 verhoogd.
  • De tweede instructie is een rekenkundige uitdrukking, die de vermenigvuldiging van onze tabel uitvoert en het resultaat opslaat in de variabele v_result.
  • De derde instructie is een uitvoerinstructie, die het resultaat van de vermenigvuldiging op een opgemaakte manier zal afdrukken.

Gebruik van exitverklaring

Per exit-instructie als v_counter> = 10, loop dan met een exit, wat betekent dat de lus 10 keer wordt uitgevoerd.

Output:

2. De FOR-lus

Met de FOR-lus kunt u het blok met instructies herhaaldelijk gedurende een vast aantal keren uitvoeren.

Syntaxis

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

  • De eerste regel van de syntaxis is de lusinstructie waarbij sleutelwoorden FOR het begin van de lus markeren, gevolgd door lusteller die een impliciete variabele voor een geheel getal is.
  • Dit betekent dat u deze variabele niet hoeft te definiëren in de declaratie-sectie, deze wordt ook impliciet met 1 verhoogd bij elke iteratie van uw lus, in tegenstelling tot de andere lussen waar we lus-teller moeten definiëren.
  • Trefwoord IN is een must om in het FOR Loop-programma te zitten.
  • Trefwoord REVERSE is niet verplicht, maar wordt altijd gebruikt in combinatie met Trefwoord IN.
  • Als trefwoord REVERSE wordt gebruikt, wordt de lus in omgekeerde volgorde herhaald.
  • onderlimiet en bovenlimiet zijn twee gehele getallen. Deze twee variabelen definiëren een aantal iteraties van de lus.
  • Twee punten tussen deze twee variabelen dienen als de bereikoperator.
  • Dan hebben we de kern van de lus, wat een bewering of een groep beweringen kan zijn.
  • Uiteindelijk hebben we de zin END LOOP die het einde van de lus aangeeft.

Voorbeeld 1

Volgens het bovenstaande programma hebben we onze FOR-lus die de waarde van de variabele v_counter van 11 tot 20 afdrukt.

Output:

Voorbeeld # 2: Laten we nu hetzelfde in omgekeerde volgorde afdrukken met de FOR-lus.

Voeg gewoon trefwoord ACHTERUIT toe na IN en voor 11, dit zal dezelfde o / p uitvoeren, maar in omgekeerde volgorde.

3. De WHILE-lus

Hoewel loop meerdere keren instructies van het programma uitvoert, kan dit ook het beste worden gebruikt voor het programma als geen enkele iteratie onbekend is.

Syntaxis

WHILE condition LOOP
Statement 1;
Statement 2;

Statement N;
END LOOP;

  • In tegenstelling tot een andere syntaxis WHILE-lus, is de syntaxis heel gemakkelijk te begrijpen. Volgens de bovenstaande syntaxis markeert 'WHILE' het begin van de lus samen met de voorwaarde en 'END LOOP' gaf het einde van de lus aan.
  • De instructies 1 tot en met N zijn de uitvoerbare instructies, gedefinieerd in de hoofdtekst van de lus. Bovendien hebben we uiteindelijk de END LOOP genoemd die het einde van de while-lus aangeeft.
  • Om statements in de body van de While-lus te kunnen uitvoeren, moet de voorwaarde waar zijn.

Voorbeeld: druk de vermenigvuldigingstabel van 17 af met de while-lus.

  • In dit voorbeeld hebben we de eerste variabele "v_counter" die zal dienen als teller en de tweede variabele is "v_result" dit zal het resultaat van de vermenigvuldiging bevatten.
  • Hier is de eerste instructie een rekenkundige uitdrukking in de WHILE-lus, die de taak van tabelvermenigvuldiging en resultaat zal uitvoeren, wordt opgeslagen in v_result.
  • De tweede instructie is de print-instructie, die vermenigvuldigingsresultaten zal afdrukken. De derde instructie is update-teller, die de teller bij elke iteratie bijwerkt
  • Deze while-lus blijft werken totdat we een tellerwaarde van meer dan of gelijk aan 10 hebben en WHILE-lus na de tellerwaarde wordt beëindigd.

Output:

Voordelen van Loops in PL / SQL

  • Herbruikbaarheid van code is het beste voordeel van lussen. We hoeven niet voor elke iteratie herhaaldelijk code te schrijven. Met lussen kunnen we code in elke iteratie opnieuw gebruiken.
  • Lussen helpen ons ook bij het verkleinen van de codegrootte of programmagrootte. Het enige wat we hoeven te doen is gewoon een eenvoudige code schrijven en die in een lus plaatsen om het werk te voltooien zonder te coderen voor verschillende uitgangen van hetzelfde programma.
  • Complexiteitsreductie heeft ook het voordeel van lussen toegevoegd.

Conclusie - Lussen in PL / SQL

SQL is de enige interface naar een relationele database en PL / SQL is een procedurele uitbreiding van SQL. Het is belangrijk om te begrijpen hoe SQL werkt en om databases en bedrijfslogica correct te ontwerpen om het juiste resultaat te krijgen. PL / SQL kan in de database worden gebruikt en heeft veel krachtige functies. Er zijn veel verbeteringen aan PL / SQL in Oracle Database 12.1. Gebruik SQL waar mogelijk, maar als uw zoekopdracht te ingewikkeld wordt of als er procedurele functies nodig zijn, kunt u het beste in plaats daarvan PL / SQL gebruiken.

Aanbevolen artikelen

Dit is een gids voor de Loops in PL / SQL. Hier bespreken we ook voordelen en verschillende soorten lussen met voorbeelden. U kunt ook de volgende artikelen bekijken voor meer informatie–

  1. Wat is PL / SQL?
  2. Schaalbaarheidstesten
  3. Wat is R-programmeertaal?
  4. Wat is PHP?
  5. Top 36 trefwoorden in SQL met voorbeelden
  6. Lussen in PowerShell | Typen | Voordelen