Mentre entri in loop Oracle PL/SQL con esempio

Cos'è il ciclo while PL/SQL?

Mentre il ciclo in PL/SQL funziona in modo simile all'istruzione di ciclo di base, tranne che la condizione EXIT è proprio all'inizio del ciclo. Funziona come un ciclo di controllo dell'entrata in cui il blocco di esecuzione verrà eseguito solo se la condizione è soddisfatta, poiché la condizione di uscita viene controllata prima dell'esecuzione.

Non richiede esplicitamente la parola chiave "EXIT" per uscire dal ciclo poiché convalida implicitamente la condizione ogni volta.

Sintassi del ciclo while PL/SQL

WHILE <EXIT condition>
 LOOP
<execution block starts>
.
.
.
<execution_block_ends>
 END LOOP;
  • Nella sintassi precedente, la parola chiave "WHILE" contrassegna l'inizio del ciclo e "END LOOP" contrassegna la fine del ciclo.
  • La condizione EXIT viene valutata ogni volta prima che la parte di esecuzione inizi l'esecuzione.
  • Il blocco di esecuzione contiene tutto il codice che deve essere eseguito.
  • La parte di esecuzione può contenere qualsiasi istruzione di esecuzione.

Esempio di Oracle Ciclo while PL/SQL

In questo esempio, stamperemo un numero da 1 a 5 usando l'istruzione loop WHILE. Per questo, eseguiremo il seguente codice:

Ciclo while PL/SQL
Esempio di ciclo While PL/SQL
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:
/

Spiegazione del codice:

  • Riga di codice 2: Dichiarare la variabile "a" come tipo di dati "NUMERO" e inizializzarla con il valore "1".
  • Riga di codice 4: Stampa della scritta “Programma avviato”.
  • Riga di codice 5: La parola chiave "WHILE" segna l'inizio del ciclo e controlla anche se il valore di "a" è inferiore o uguale a 5
  • Riga di codice 7: Stampa il valore di "a".
  • Riga di codice 8: Incrementa il valore di "a" di +1.
  • Riga di codice 9: La parola chiave 'END LOOP' segna la fine del blocco di esecuzione.
  • Il codice della riga 7 e della riga 8 continuerà ad essere eseguito finché 'a' non raggiunge il valore 6, poiché la condizione restituirà TRUE e il controllo uscirà dal loop.
  • Riga di codice 10: Stampa della dicitura “Programma completato”

Sintesi

Ciclo continuo MENTRE Ciclo
Criteri di uscita Esce quando la condizione di controllo restituisce false
Impiego Utile da usare quando il conteggio dei cicli è sconosciuto e l'uscita è basata su qualche altra condizione.