Introducere în bucle în PL / SQL

Limbajul procedural / Limbajul de interogare structurat sau PL / SQL este extensia procedurală Oracle Corporation pentru Oracle RDBMS. PL / SQL a extins SQL adăugând constructe utilizate în limbaje procedurale pentru a permite o programare mai complexă decât SQL oferă. Exemple de aceste structuri sunt DACĂ … CÂND … ELSE, bucle de bază, pentru bucle și bucle WHILE.

Explicați diferite tipuri de bucle în PL / SQL

Acest articol vă va explica structura de control iterativ înseamnă bucle de PL / SQL; vă va permite să rulați același cod în mod repetat. PL / SQL oferă trei tipuri diferite de tipuri de bucle:

  • Bucla simplă sau infinită
  • Bucla FOR
  • Bucla WHILE

Aici, fiecare buclă este proiectată pentru un scop specific, reguli de utilizare și linii directoare pentru crearea de înaltă calitate.

Exemple de bucle diferite

Luați în considerare următoarele trei proceduri pentru a înțelege bucle diferite și capacitatea lor de rezolvare a problemelor în moduri diferite.

1. Bucla simplă

Această buclă este la fel de simplă ca și numele său. Începe cu cuvântul cheie LOOP și se încheie cu declarația finală „END LOOP”.

Sintaxă

LOOP
The sequence of statements;
END LOOP;

Aici, conform cuvântului cheie de sintaxă de mai sus, „LOOP” marchează începutul buclei și „END LOOP” a indicat sfârșitul buclei. Secvența părții instrucțiunii poate conține orice declarație pentru execuție.

Exemplu de buclă simplă

Să scriem un program pentru a tipări tabelul de multiplicare din 18.

Aici, în bucla de mai sus, nu avem declarația „EXIT”; înseamnă că execuția de ieșire va continua la infinit până când închidem manual acest program.

Consultați mai jos programul cu declarația Exit:

Explicația programului de mai sus

În secțiunea de declarații, am declarat două variabile; variabila v_counter va servi ca contor și v_result va păstra rezultatul înmulțirii.

În secțiunea de execuție, avem bucla noastră simplă, aici avem trei declarații.

  • Prima declarație va funcționa ca declarația noastră de actualizare; aceasta ne va actualiza contorul și îl va mări cu 1.
  • A doua afirmație este o expresie aritmetică, care va efectua înmulțirea tabelului nostru și va stoca rezultatul în variabila v_result.
  • A treia instrucțiune este o declarație de ieșire, care va imprima rezultatul înmulțirii într-un mod formatat.

Utilizarea declarației de ieșire

În conformitate cu instrucțiunea de ieșire dacă v_counter> = 10, atunci bucla cu o ieșire, ceea ce înseamnă că bucla se va executa de 10 ori.

ieşire:

2. Bucla FOR

Bucla FOR vă permite să executați în mod repetat blocul de declarații pentru un număr fix de ori.

Sintaxă

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

  • Prima linie a sintaxei este instrucțiunea buclă în care cuvintele cheie FOR marchează începutul buclei urmată de contorul buclei, care este o variabilă implicită a indexului.
  • Acest lucru înseamnă că nu este necesar să definiți această variabilă în secțiunea declarație, de asemenea, ea va crește singură cu 1 implicit la fiecare iterație a buclei dvs., spre deosebire de celelalte bucle în care trebuie să definim contorul buclei.
  • Cuvântul cheie IN este obligatoriu să fie în programul Loop FOR.
  • Cuvântul cheie REVERSE nu este obligatoriu, ci este folosit întotdeauna împreună cu cuvântul cheie IN.
  • Dacă se utilizează cuvântul cheie REVERSE, atunci bucla se va repeta în ordine inversă.
  • lower_limit și upper_limit sunt două numere întregi. Aceste două variabile definesc o serie de iterații ale buclei.
  • Două puncte între aceste două variabile servesc ca operator de interval.
  • Apoi avem corpul buclei, care poate fi o declarație sau un grup de declarații.
  • La final, avem fraza END LOOP care indică sfârșitul buclei.

Exemplul # 1

Aici, conform programului de mai sus, avem bucla FOR care va tipări valoarea variabilei v_counter de la 11 la 20.

ieşire:

Exemplul # 2: Acum să imprimăm același lucru în ordine inversă folosind bucla FOR.

Trebuie doar să adăugați cuvântul cheie REVERSE după IN și înainte de 11, acest lucru va executa același o / p, dar în ordine inversă.

3. Bucla WHILE

În timp ce bucla execută declarații ale programului de mai multe ori, acest lucru este cel mai bine utilizat pentru program atunci când nu se cunoaște nicio iterație.

Sintaxă

WHILE condition LOOP
Statement 1;
Statement 2;

Statement N;
END LOOP;

  • Spre deosebire de o altă buclă de sintaxă WHILE, sintaxa este foarte ușor de înțeles. Aici, conform sintaxei de mai sus, „WHILE” marchează începutul buclei împreună cu condiția și „END LOOP” a indicat sfârșitul buclei.
  • Instrucțiunile 1 până la N sunt instrucțiuni executabile, definite în corpul buclei. În plus, în final, am menționat END LOOP care indică sfârșitul buclei de timp.
  • Pentru a rula declarații în interiorul corpului buclei while, condiția trebuie să fie adevărată.

Exemplu: Tipăriți tabelul de multiplicare din 17 folosind loop.

  • În acest exemplu, avem prima variabilă „v_counter” care va servi drept contor, iar a doua variabilă este „v_result”, care va păstra rezultatul înmulțirii.
  • Aici prima afirmație este o expresie aritmetică din bucla WHILE, care va face sarcina de înmulțire a tabelului și rezultatul, va fi stocată în v_result.
  • A doua declarație este instrucțiunea de tipărire, care va imprima rezultatele înmulțirii. A treia declarație este actualizarea contorului, care va actualiza contorul cu fiecare iterație
  • Aceasta în timp ce bucla va continua să funcționeze până când vom avea o valoare a contorului mai mare sau egală cu 10 și WHILE bucla va fi terminată după valoarea de contrare 10.

ieşire:

Avantajele buclelor în PL / SQL

  • Reutilizarea codului este cel mai bun avantaj al buclelor, nu este necesar să scriem cod în mod repetat pentru fiecare iterație, folosind bucle pe care le putem reutiliza cod în fiecare iterație.
  • Buclele ne ajută, de asemenea, la reducerea dimensiunii codului sau a programului. Nu trebuie decât să scriem un singur cod simplu și să îl introducem în orice buclă pentru a finaliza lucrarea fără a codifica ieșiri diferite din același program.
  • Reducerea complexității a adăugat și avantajul buclelor.

Concluzie - Bucle în PL / SQL

SQL este singura interfață a unei baze de date relaționale, iar PL / SQL este o extensie procedurală la SQL. Este important să înțelegeți cum funcționează SQL și să proiectați corect baze de date și logica de afaceri pentru a obține setul corect de rezultate. PL / SQL poate fi utilizat în baza de date și are multe funcții puternice. Există multe îmbunătățiri ale PL / SQL în Oracle Database 12.1. Utilizați SQL ori de câte ori este posibil, dar dacă interogarea dvs. este prea complicată sau sunt necesare funcții procedurale, este mai bine să utilizați PL / SQL.

Articole recomandate

Acesta a fost un ghid pentru Buclele în PL / SQL. Aici vom discuta, de asemenea, despre avantaje și diferite tipuri de bucle cu exemple. De asemenea, puteți arunca o privire asupra articolelor următoare pentru a afla mai multe -

  1. Ce este PL / SQL?
  2. Testarea scalabilității
  3. Ce este limbajul de programare R?
  4. Ce este PHP?
  5. Top 36 Cuvinte cheie în SQL cu exemple
  6. Bucle în PowerShell | Tipuri | Beneficii