While Loop in Oracle PL/SQL cu Exemplu

Ce este PL/SQL While Loop?

În timp ce Loop în PL/SQL funcționează similar cu instrucțiunea buclă de bază, cu excepția faptului că condiția EXIT este chiar la începutul buclei. Funcționează ca o buclă de verificare a intrării în care blocul de execuție se va executa numai dacă condiția este îndeplinită, deoarece condiția de ieșire este verificată înainte de execuție.

Nu necesită în mod explicit cuvântul cheie „EXIT” pentru a ieși din buclă, deoarece validează condiția implicit de fiecare dată.

Sintaxa PL/SQL While Loop

WHILE <EXIT condition>
 LOOP
<execution block starts>
.
.
.
<execution_block_ends>
 END LOOP;
  • În sintaxa de mai sus, cuvântul cheie „WHILE” marchează începutul buclei și „END LOOP” marchează sfârșitul buclei.
  • Condiția EXIT este evaluată de fiecare dată înainte ca partea de execuție să înceapă execuția.
  • Blocul de execuție conține tot codul care trebuie executat.
  • Partea de execuție poate conține orice instrucțiune de execuție.

Exemplu de Oracle PL/SQL While Loop

În acest exemplu, vom tipări numărul de la 1 la 5 folosind instrucțiunea buclă WHILE. Pentru asta, vom executa următorul cod:

PL/SQL While Loop
Exemplu de buclă PL/SQL While
DECLARE
a NUMBER :=1;
BEGIN
dbms_output.put_line('Program started');
WHILE (a <= 5) 
LOOP
dbms_output.put_line(a);
a:=a+1;
END LOOP;
dbms_output.put_line(‘Program completed' ); 	
END:
/

Explicația codului:

  • Linia de cod 2: Declararea variabilei „a” ca tip de date „NUMĂR” și inițializarea acesteia cu valoarea „1”.
  • Linia de cod 4: Se imprimă declarația „Programul început”.
  • Linia de cod 5: Cuvântul cheie „WHILE” marchează începutul buclei și, de asemenea, verifică dacă valoarea lui „a” este mai mică sau egală cu 5
  • Linia de cod 7: Imprimă valoarea lui „a”.
  • Linia de cod 8: Crește valoarea lui „a” cu +1.
  • Linia de cod 9: Cuvântul cheie „END LOOP” marchează sfârșitul blocului de execuție.
  • Codul de la linia 7 și linia 8 va continua să se execute până când „a” ajunge la valoarea 6, deoarece condiția va returna TRUE, iar controlul va IEȘI din buclă.
  • Linia de cod 10: Tipărirea declarației „Program finalizat”

Rezumat

Buclă WHILE Loop
Criterii EXIT Ieșiți când condiția de verificare revine false
Folosire Bun de utilizat atunci când numărul de bucle este necunoscut, iar ieșirea se bazează pe o altă condiție.