Introduzione ai loop in PL / SQL

Linguaggio procedurale / Linguaggio di query strutturato o PL / SQL è l'estensione procedurale di Oracle Corporation per Oracle RDBMS. PL / SQL ha esteso SQL aggiungendo costrutti utilizzati nei linguaggi procedurali per consentire una programmazione più complessa di quella fornita da SQL. Esempi di queste strutture sono IF … THEN … ELSE, loop di base, loop FOR e loop WHILE.

Spiegare diversi tipi di loop in PL / SQL

Questo articolo ti spiegherà che la struttura di controllo iterativo significa cicli di PL / SQL; ti permetterà di eseguire lo stesso codice ripetutamente. PL / SQL offre tre diversi tipi di tipi di loop:

  • Il ciclo semplice o infinito
  • Il ciclo FOR
  • Il ciclo WHILE

Qui, ogni ciclo è progettato per uno scopo specifico, regole per l'uso e linee guida per la creazione di alta qualità.

Esempi di diversi loop

Considerare le tre procedure seguenti per comprendere i diversi cicli e la loro capacità di risoluzione dei problemi in modi diversi.

1. Il ciclo semplice

Questo ciclo è semplice come il suo nome. Inizia con la parola chiave LOOP e termina con la frase finale "END LOOP".

Sintassi

LOOP
The sequence of statements;
END LOOP;

Qui, come per la parola chiave di sintassi sopra, "LOOP" segna l'inizio del loop e "END LOOP" indica la fine del loop. La sequenza della parte dell'istruzione può contenere qualsiasi istruzione per l'esecuzione.

Esempio di loop semplice

Scriviamo un programma per stampare la tabella di moltiplicazione di 18.

Qui nel loop sopra, non abbiamo l'istruzione "EXIT"; significa che l'esecuzione dell'output andrà avanti all'infinito fino a quando questo programma non verrà chiuso manualmente.

Fare riferimento al programma seguente con l'istruzione Exit:

Spiegazione del programma precedente

Nella sezione dichiarazione, abbiamo dichiarato due variabili; la variabile v_counter fungerà da contatore e v_result conterrà il risultato della moltiplicazione.

Nella sezione di esecuzione, abbiamo il nostro semplice ciclo, qui abbiamo tre affermazioni.

  • La prima dichiarazione funzionerà come la nostra dichiarazione di aggiornamento; questo aggiornerà il nostro contatore e lo incrementerà di 1.
  • La seconda istruzione è un'espressione aritmetica, che eseguirà la moltiplicazione della nostra tabella e memorizzerà il risultato nella variabile v_result.
  • La terza istruzione è un'istruzione di output, che stamperà il risultato della moltiplicazione in modo formattato.

Uso dell'istruzione Exit

Come da dichiarazione di uscita se v_counter> = 10, quindi ciclo con un'uscita che significa che il ciclo verrà eseguito 10 volte.

Produzione:

2. Il ciclo FOR

Il ciclo FOR consente di eseguire ripetutamente il blocco di istruzioni per un determinato numero di volte.

Sintassi

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

  • La prima riga della sintassi è l'istruzione del ciclo in cui le parole chiave FOR segnano l'inizio del ciclo seguito dal contatore del ciclo che è una variabile intera indice implicito.
  • Ciò significa che non è necessario definire questa variabile nella sezione di dichiarazione, inoltre si aumenterà implicitamente di 1 in modo implicito su ciascuna iterazione del proprio loop, a differenza degli altri loop in cui è necessario definire il contatore di loop.
  • La parola chiave IN è un must per essere nel programma FOR Loop.
  • La parola chiave REVERSE non è obbligatoria ma viene sempre utilizzata insieme alla parola chiave IN.
  • Se si utilizza la parola chiave REVERSE, il ciclo verrà ripetuto nell'ordine inverso.
  • lower_limit e upper_limit sono due numeri interi. Queste due variabili definiscono un numero di iterazioni del ciclo.
  • Due punti tra queste due variabili fungono da operatore di intervallo.
  • Quindi abbiamo il corpo del ciclo, che può essere un'istruzione o un gruppo di istruzioni.
  • Alla fine, abbiamo la frase END LOOP che indica la fine del loop.

Esempio 1

Qui come per il programma sopra, abbiamo il nostro ciclo FOR che stamperà il valore della variabile v_counter da 11 a 20.

Produzione:

Esempio n. 2: Ora stampiamo lo stesso in ordine inverso usando il ciclo FOR.

Basta aggiungere la parola chiave REVERSE dopo IN e prima delle 11, questo eseguirà la stessa o / p ma in ordine inverso.

3. Il ciclo WHILE

Mentre il ciclo esegue più volte le istruzioni del programma, questo è meglio usato per il programma quando nessuna iterazione è sconosciuta.

Sintassi

WHILE condition LOOP
Statement 1;
Statement 2;

Statement N;
END LOOP;

  • A differenza di un altro ciclo WHILE di sintassi, la sintassi è molto facile da capire. Qui secondo la sintassi sopra, 'WHILE' segna l'inizio del loop insieme alla condizione e 'END LOOP' indica la fine del loop.
  • Le istruzioni da 1 a N sono le istruzioni eseguibili, definite nel corpo del loop. Inoltre, alla fine, abbiamo menzionato END LOOP che indica la fine del ciclo while.
  • Per eseguire le istruzioni all'interno del corpo del ciclo While, la condizione deve essere vera.

Esempio: stampare una tabella di moltiplicazione di 17 usando il ciclo while.

  • In questo esempio, abbiamo la prima variabile "v_counter" che fungerà da contatore e la seconda variabile è "v_result" che conterrà il risultato della moltiplicazione.
  • Qui la prima istruzione è un'espressione aritmetica all'interno del ciclo WHILE, che svolgerà il compito di moltiplicazione e risultato della tabella, verrà memorizzata in v_result.
  • La seconda istruzione è l'istruzione print, che stamperà i risultati della moltiplicazione. La terza istruzione è il contatore aggiornamenti, che aggiornerà il contatore con ogni iterazione
  • Questo ciclo while continuerà a funzionare finché non avremo un valore del contatore maggiore o uguale a 10 e il ciclo WHILE verrà terminato dopo il valore del contatore 10.

Produzione:

Vantaggi dei loop in PL / SQL

  • La riusabilità del codice è il miglior vantaggio dei loop, non è necessario scrivere codice ripetutamente per ogni iterazione, utilizzando i loop possiamo riutilizzare il codice in ogni iterazione.
  • I loop ci aiutano anche a ridurre la dimensione del codice o la dimensione del programma. Tutto quello che dobbiamo fare è semplicemente scrivere un semplice codice e inserirlo in qualsiasi ciclo per completare il lavoro senza codificare output diversi dallo stesso programma.
  • La riduzione della complessità ha anche aggiunto il vantaggio dei loop.

Conclusione - Loop in PL / SQL

SQL è l'unica interfaccia per un database relazionale e PL / SQL è un'estensione procedurale di SQL. È importante capire come funziona SQL e progettare correttamente i database e la logica aziendale per ottenere il giusto set di risultati. PL / SQL può essere utilizzato all'interno del database e ha molte potenti funzionalità. Ci sono molti miglioramenti a PL / SQL nel database Oracle 12.1. Utilizzare SQL ogni volta che è possibile, ma se la query diventa troppo complicata o sono necessarie funzionalità procedurali, è preferibile utilizzare invece PL / SQL.

Articoli consigliati

Questa è stata una guida ai loop in PL / SQL. Qui discutiamo anche vantaggi e diversi tipi di loop con esempi. Puoi anche dare un'occhiata ai seguenti articoli per saperne di più–

  1. Che cos'è PL / SQL?
  2. Test di scalabilità
  3. Cos'è il linguaggio di programmazione R?
  4. Che cos'è PHP?
  5. Le 36 migliori parole chiave in SQL con esempi
  6. Loop in PowerShell | Tipi | Benefici