Oracle PL/SQL FOR LOOP con esempio

Cos'รจ For Loop?

L'istruzione "FOR LOOP" รจ piรน adatta quando si desidera eseguire un codice per un numero noto di volte anzichรฉ in base ad altre condizioni.

In questo ciclo verranno specificati il โ€‹โ€‹limite inferiore e quello superiore e finchรฉ la variabile del ciclo si trova tra questo intervallo, il ciclo verrร  eseguito.

La variabile del ciclo รจ autoincrementale, quindi non รจ necessaria alcuna operazione di incremento esplicita in questo ciclo. La variabile loop non ha bisogno di essere dichiarata, poichรฉ รจ dichiarata implicitamente.

FOR <loop_variable> in <lower_limit> .. <higher_limit> 
LOOP
<execution block starts>
.
.
.
<execution_block_ends>
 END LOOP;

Spiegazione della sintassi:

  • Nella sintassi precedente, la parola chiave "FOR" indica l'inizio del ciclo e "END LOOP" indica la fine del ciclo.
  • La variabile del ciclo viene valutata ogni volta prima di eseguire la parte di esecuzione.
  • Il blocco di esecuzione contiene tutto il codice che deve essere eseguito. La parte di esecuzione puรฒ contenere qualsiasi istruzione di esecuzione.
  • La variabile_loop viene dichiarata implicitamente durante l'esecuzione dell'intero ciclo e il suo ambito sarร  solo all'interno di questo ciclo.
  • Se la variabile del ciclo esce dall'intervallo, il controllo uscirร  dal ciclo.
  • Il ciclo puรฒ essere fatto funzionare in ordine inverso aggiungendo la parola chiave "REVERSE" prima di lower_limit.

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

Oracle PL/SQL PER CICLO

BEGIN
dbms Qutput.put linef.Prp.gram started.' );
FOR a IN 1 .. 5
LOOP
dbms_output.put_line(a);
END LOOP:
dbms_output.put_iine('Program completed.'); 
END;
/

Code Spiegazione:

  • Code Linea 2: Stampa della scritta โ€œProgramma avviatoโ€.
  • Code riga 3: La parola chiave "FOR" segna l'inizio del ciclo e viene dichiarata loop_variable "a". Ora avrร  il valore che va da 1 a 5
  • Code riga 5: Stampa il valore di "a".
  • Code riga 6: La parola chiave 'END LOOP' segna la fine del blocco di esecuzione.
  • Il codice della riga 5 continuerร  ad essere eseguito finchรฉ 'a' non raggiunge il valore 6, poichรฉ la condizione fallirร  e il controllo uscirร  dal ciclo.
  • Code riga 7: Stampa della dicitura โ€œProgramma completatoโ€

Loop nidificati

Le istruzioni del ciclo possono anche essere annidate. Il circuito esterno e quello interno possono essere di diversi tipi. Nel ciclo nidificato, per ogni valore di iterazione del ciclo esterno, il ciclo interno verrร  eseguito completamente.

Loop nidificati

LOOP -outer
<execution block starts>
LOOP โ€” inner
<execution_part> 
END LOOP; 
<execution_block_ends> 
END LOOP;

Spiegazione della sintassi:

  • Nella sintassi precedente, il ciclo esterno ha un ulteriore ciclo al suo interno.
  • I loop possono essere di qualsiasi tipo e la parte di funzionalitร  di esecuzione รจ la stessa.

esempio 1: In questo esempio, stamperemo un numero da 1 a 3 usando l'istruzione FOR loop. Ogni numero verrร  stampato tante volte quanto il suo valore. Per questo, eseguiremo il seguente codice.

Loop nidificati

Loop nidificati

DECLARE 
b NUMBER;
BEGIN
dbms output put line(โ€˜Program started' );
FOR a IN 1..3 
LOOP
b:=1;
WHILE (a>=b)
LOOP
dbms output put line(a);
b:=b+1;
END LOOP;โ€ญ	
END LOOP;โ€ญ	โ€ฌ
dbms_output.put_line('Program completed' );
END;
/

Code Spiegazione:

  • Code Linea 2: Dichiara la variabile "b" come tipo di dati "NUMERO".
  • Code Linea 4: Stampa della scritta โ€œProgramma avviatoโ€.
  • Code riga 5: La parola chiave "FOR" segna l'inizio del ciclo e viene dichiarata loop_variable "a". Ora avrร  il valore che va da 1 a 3
  • Code riga 7: Reimpostare il valore di "b" su "1" ogni volta.
  • Code riga 8: Interno mentre il ciclo verifica la condizione a>=b.
  • Code riga 10: Stampa il valore di 'a' purchรฉ la condizione precedente sia soddisfatta.
  • Code riga 14: Stampa della dicitura โ€œProgramma completatoโ€

Sintesi

Ciclo continuo Ciclo FOR
Criteri di uscita Esci quando il contatore raggiunge il limite
Impiego Utile da usare quando si conosce il numero di cicli da eseguire.

Riassumi questo post con: