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:
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. |